目录

一、创建&新增数据语句

1、创建数据库

2、创建表

3、表中新增数据

4、表中插入多条数据

二、删除语句

1、从数据库中删除整张表

2、删除表中所有数据

3、删除表中特定的行

三、修改语句

1、修改表名

2、修改表字段类型

3、修改列名

4、修改表中的数据

四、查询语句

1、查看有哪些数据库

2、查看数据库中有哪些表

3、查看表结构;

4、查询结果去重

5、指定查询显示行数

6、查询结果排序

7、where条件查询

8、分组查询以及过滤分组

9、多表查询


一、创建&新增数据语句

1、创建数据库

create database 数据库名;

例如:create database mydata; //创建了一个名叫mydata的数据库

2、创建表

create table 表名 (列名1 字段类型,列名2 字段类型,列名3 字段类型…..);

例如:create table student(st_id int(10),st_name varchar(20)); //创建了一张student表,里面包含s_id,st_name两个字段。

3、表中新增数据

(1)insert into 表名(列名1,列名2,列名3………) values(列名1的值,列名2的值,列名3的值……);

例如:insert into student(st_id,st_name) values(1001,’张三’);

(2)insert into 表名 values(数据1,数据2,数据3…..);

例如:insert into studentvalues(1002,’李四’);

4、表中插入多条数据

例如:insert into student values(1003,’李四’),(1004,’丽丽’),(1005,’芳芳’);

二、删除语句

1、从数据库中删除整张表

drop table 表名;

例如:drop table student; //整张表被删除,数据库中就没有了这张表

2、删除表中所有数据

(1)delete from 表名;

例如:delete from student;//删除表中所有数据,只保留表字段

可以看见只剩下表字段了,只删除了表中的数据:

(2)truncate table 表名;

例如:truncate table student;//删除整张表,然后重新创建一张空表(删除表中所有数据建议用truncate,删除速度比delete要快)

可以看到表中所有数据被删除,只剩表字段

3、删除表中特定的行

delete from 表名 where 条件;

例如:delete from student where st_id=1001;

可以看到st_id=1001的这一行被删除

三、修改语句

1、修改表名

rename table 旧表名 to 新表名;

例如:rename table student to stu2; //将student表名改为stu2

2、修改表字段类型

alter table 表名 modify 列名 要修改的字段类型;

例如:alter table student modify st_name varchar(20);

然后查看表结构,可以看到st_name类型为varchar

3、修改列名

alter table 表名 change 旧列名 新列名 字符类型;

例如:alter table student change st_name name varchar(20);

然后查看表,可以看到st_name被改为name

4、修改表中的数据

update 表名 set 列名=修改值 where 条件;//这里注意不跟条件则是修改一整列的数据

例如:update student set st_id=123456 where st_name=’丽丽’;

可以看到丽丽的st_id被改为123456

四、查询语句

1、查看有哪些数据库

如:show databases;

2、查看数据库中有哪些表

use 数据库名;//如果有多个数据库,需要先确定使用哪个数据库

use mydata;//使用mydata 这个数据库

如:show tables;//查看数据库中的表

3、查看表结构;

desc 表名;

4、查询结果去重

select distinct 列名 from 表名;

5、指定查询显示行数

select * from 表名 limit n,m;//n代表从第几行开始(默认0为第一行),m代表取多少行数据

例如:select * from studentlimit 1,4;//查询student表中从第2行开始,显示4行数据

6、查询结果排序

(1)查询结果降序排序:
select * from 表名 order by 字段名 desc;

(2)查询结果升序排序(默认升序):
select * from 表名 order by 字段名 asc;

7、where条件查询

(1)范围检查:
select * from 表名 where 字段名 between 2.5 and 10; //查询价格在2.5-10之间的信息

(2)空值检查:
select * from 表名 where 字段名 is null;//查询表中的空值

(3)满足多个条件查询:
select * from 表名 where 条件1 and 条件2;

(4)取反查询
select * from products where vend_id not in(1003,1002);

(5)like 加通配符查询

like 后面跟通配符%查询操作,%代表任意字符任意次数:
select * from products where prod_name like ‘s%’;
like 后面跟通配符_查询操作,_代表1个字符:
select * from products where prod_name like ‘_afe’;

8、分组查询以及过滤分组

(1)查询结果分组

格式:select 列名 from 表名 group by 列名;

(2)过滤分组

例如:select 列名 from 表名 group by 列名 having count(*)>=2;

9、多表查询

(1)笛卡尔积

select * from 表1,表2;//同时查询两个表的数据

(2)内连接

格式:select 列名 from 表1 inner join 表2 on 条件;

(3)外连接

①左连接

例如:select column_list from t1 left join t2 on join_condition;(等值连接)
使用左连接,t1和t2进行匹配,如果左表中的行与右表中的行不匹配,则左表会与右表进行假行组合,即使右表t2找不到匹配的行,也会用null显示出来,左表t1全部显示。

②右连接

例如:select column_list from t1 right join t2 on join_condition;(等值连接)
使用右连接,t1和t2进行匹配,如果右表中的行与左表中的行不匹配,则右表会与左表进行假行组合,即使左表t2找不到匹配的行,也会用null显示出来,右表t1全部显示。