文章目录

  • 1.DDL对数据库,数据库表的增删改查语句
    • 1.操作数据库
      • 1. 创建数据库的语句
        • 1. 直接创建数据库
        • 2. 判断数据库是否存在,如果存在就不创建,如果不存在就创建
        • 3. 创建数据库时指定数据库的编码格式
      • 2. 删除数据库的语句
      • 3. 修改数据库的语句
      • 4. 查询数据库的语句
      • 5. 进入指定数据库语句
    • 2.操作数据库的表
      • 1.创建数据库表
      • 2. 修改数据库中的表信息:
        • 1. 添加新的属性
        • 2. 修改新的字段的属性
        • 3. 修改字段及字段的属性
        • 4. 修改数据库的名字
        • 5. 修改表中的编码格式
      • 3. 查询表中信息
        • 1. 查询所有的表
        • 2. 查询表的创建表的语句
        • 3. 查询表的结构
      • 3. 删除表
  • 2.DML对数据的增删改语句
    • 1. 对数据的添加操作
      • 1. 数据的部分添加,书写表的部分属性
      • 2. 在数据库表中批量添加数据
    • 2. 对数据的修改操作
    • 3. 对数据的删除操作
  • 3.DQL 对数据库中表数据的查询操作
    • 1. 不带条件的查询
    • 2. 带条件的查询
    • 3. 排序的查询、
    • 4. 聚合函数
      • 1. 查询所有老师的总和
      • 2. 查询年龄最大的老师
      • 3. 查询年年龄最小的老师
      • 4. 查询所有老师的平均年龄
      • 5. 优化:平均值保留几位小数
      • 6. 模糊查询
      • 7. 蠕虫复制
      • 8. 分组查询
      • 9. 分页查询

1.DDL对数据库,数据库表的增删改查语句

1.操作数据库

1. 创建数据库的语句

1. 直接创建数据库

需求:直接创建一个数据库
建表语句:
Create database db6;

2. 判断数据库是否存在,如果存在就不创建,如果不存在就创建

需求创建一个数据库db7,并判断是否存在,如果不存在就创建
Sql语句:
create database if exists db7;

3. 创建数据库时指定数据库的编码格式

需求:创建一个数据库db8 并指定编码格式
Sql语句:
create database db8 character set gbk;

2. 删除数据库的语句

需求:将数据库db8删除
Sql语句:
Drop database db8;

3. 修改数据库的语句

需求 :将db7的编码格式修改为gbk;
Sql语句:
Alter database db7 default character set gbk;

4. 查询数据库的语句

  1. 查询所有的库:
    需求:查询锁创建的所有数据库
    Sql语句:
    Show databases;
  2. 查询数据库的建库语句
    需求:查询db7的建库语句
    SQL语句
    Show create database db7;

5. 进入指定数据库语句

将路径切换到指定的库中,方便表的建立
需求:将路径切换到数据库db1中
SQL语句:
Use db1;

2.操作数据库的表

1.创建数据库表

在数据库中创建一个表,并指定其对应的属性于属性的类型:
需求:在数据库db1中创建一个teacher表并指定字段名id为int类型name为varchar类型,age为int类型address为varchar类型

SQL语句:
Create table teacher(id int ,name varchar(20) ,age int ,address varchar(40));

2. 修改数据库中的表信息:

1. 添加新的属性

为表中添加新的字段
需求:在数据库的表teacher中添加新的字段test属性,为varchar类型
SQL语句:
Alter table teacher add test varchar(20);

2. 修改新的字段的属性

将数库表中的字段属性修改
需求:将数据库中teacher的test属性值修改为varchar(400);
SQL语句:
Create table teacher modify test varchar(400);

3. 修改字段及字段的属性

将表中的字段名修改为自己想要的字段名
需求:将teacher表中的test属性修改为test01(varchar(200));
Sql语句:
Alter table teacher change test test01 varchar(200);

4. 修改数据库的名字

将数据库中的表的名字修改
需求:将数据库中teacher表名字修改为teacher01
Sql语句:
Rename table teacher to teacher01;

5. 修改表中的编码格式

将数据库表中的编码格式修改为指定的编码格式:
需求: 将数据库中teacher表的编码格式修改为utf8;
SQL语句:
Alter table teacher character set utf8;

3. 查询表中信息

1. 查询所有的表

将数据库中所有的表打印出来
需求:将db1中所有的表打印出来
SQL语句:
Show tables;

2. 查询表的创建表的语句

查看数据表的建表语句:
需求:查看teacher表的建表语句
SQL语句:
Show create table teacher;

3. 查询表的结构

查询表的结构
需求:查看teacher 的表结构
SQL语句:
Desc teacher;

附录:
复制数据库表
Create table teacher01 like teacher;

3. 删除表

将表删除
需求将表teacher1删除
SQL语句:
Drop table teacher1;

2.DML对数据的增删改语句

1. 对数据的添加操作

将数据添加到表中

  1. 数据的完全添加不写表的属性
    添加全部属性可以省略数据表的信息,但是要与数据的信息对应
    需求:在teacher表中添加对应的属性id为1,name为张三,age为18 address为上海
    SQL语句:
    Insert into teacher values(1,”张三”,18,”上海”);

1. 数据的部分添加,书写表的部分属性

需求:在数据库中表中添加李四20
SQL语句:
Insert into teacher (name,age)values(“李四”,20);

2. 在数据库表中批量添加数据

在数据中批量的添加数据:
需求:在数据库中添加王五赵六的对应信息
SQL语句:
Insert into teacher values(3,”王五”,18,”北京”),(4, ”赵六”,18,”河北”);

2. 对数据的修改操作

对数据的修改操作使用update关键字
Update 表名 set 修改的属性 where 条件,一般条件都要写,不写就是修改全表的属性
需求:将id为1的老师年龄修改为200;
SQL语句:
Update teacher set age =200 where id=1;
补充:如果修改一个id 的多个属性,使用,隔开即可

3. 对数据的删除操作

删除一行的话使用delete from 表名where 条件;
删除对应的数据库的一条信息,如果不写条件,则时把数据库中的数据全部删除
Truncate是把数据库这种表删除重新创建一个新表

3.DQL 对数据库中表数据的查询操作

DML为数据库中的最重要的,需重点记忆

1. 不带条件的查询

不带条件的查询,只需要指定对应的表名,就可以把数据中的所有信息全部显示出来,但是如果没有键的约束,在数据量比较大的情况下比较慢
需求:查询teacher表中的所有信息
SQL语句:
Select * from teacher;
去重查询
Select distinct age from teacher;

2. 带条件的查询

查询的条件可以根据id,name之类的不同信息进行查询
需求:查询id为1的老师信息的所有信息
SQL语句:
Select * from teacher where id=1;
需求查询姓名为李四的老师的姓名
SQL语句:
Select name from teacher where name=”李四”;
查询年龄大于20的老师
SQL语句:
Select * From teacher age >20;
查询年龄在15-20之间的老师信息
Select * from teacher where age bettween 15 and 20;

3. 排序的查询、

将不同的信息进行排序是实际开发中经常用到的
需求:将teacher表中的数据按照年年龄从大到小降序排列
SQL语句:
Select * from teacher order by age desc;

4. 聚合函数

聚合函数主要用于数据的运算,
常用的有求和sum 最大值max 最小值min 平均值avg 计算行数count

1. 查询所有老师的总和

需求:查询teacher表中所有教师的总和
SQL语句:
Select count(id) from teacher ;

2. 查询年龄最大的老师

需求:找到老师中年龄最大的老师的所有信息
SQL语句:
Select * ,max(age) from teacher;

3. 查询年年龄最小的老师

需求:找到老师中年龄最小的老师的所有信息
SQL语句:
Select * ,max(age) from teacher;

4. 查询所有老师的平均年龄

需求:找到老师中年龄平均的老师的所有信息
SQL语句:
Select * ,avg(age) from teacher;

5. 优化:平均值保留几位小数

将平均年龄保存两位小数
Select truncate(avg(age),2) from teacher;

6. 模糊查询

模糊查询有两种替代%和_
需求:查询姓张的老师
SQL语句:
Select * from teacher where name like “张%”;
需求:查询姓张的两个字的老师
Select * from teacher name like “张_”;

7. 蠕虫复制

需先复制表结构、然后复制表的数据
Create table teacher1 like teacher;
然后蠕虫复制内部的数据
Insert into teacher1 select * from teacher;

8. 分组查询

创建表
CREATE TABLE order(idint(11) NOT NULL,productvarchar(255) DEFAULT NULL,pricedecimal(10,2) DEFAULT NULL, PRIMARY KEY (id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

分组查询使用的关键字为group by 将不同的属性分类显示
需求1:查询购买的每种商品的总价。
Select product ,sum(price) as 总计 from orders group by product ;

需要先分组再计算总价格

需求2:要求是先按照商品名分组,然后在按照价格进行分组。
Select product sum(price) as 总价 from orders group by product,price;

因为数据总价没有相同的数据所以结果是一样的
需求3:查询每一种商品的总价大于30的商品,并显示总价。
select product ,sum(price) from orders group by product having sum(price)>30;

9. 分页查询

创建表
CREATE TABLE student (
id int(11) DEFAULT NULL,
name varchar(20) DEFAULT NULL,
age int(11) DEFAULT NULL,
sex varchar(5) DEFAULT NULL,
address varchar(100) DEFAULT NULL,
math int(11) DEFAULT NULL,
english int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
分页使用limit限制显示的条数
Select * from student limit 0,3;
Select * from student limit 3,3;


显示一部分

更多推荐

MySQL基础语句总结