数据库的使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
1、查询所有的数据库
show databases;

2、查询当前数据库
select database();

3、创建数据库
create database [ if not exists ] 数据库名 [ default charset 字符集 ] [ collate 排序规则 ];

(1)在同一个数据库服务器中,不能创建两个名称相同的数据库,否则将会报错。
可以通过if not exists 参数来解决这个问题,数据库不存在, 则创建该数据库,如果存在,则不创建。
示例:
create database if not extists 数据库名;

(2)创建一个itheima数据库,并且指定字符集
示例:
create database 数据库名 default charset utf8mb4;

4、删除数据库
drop database [ if exists ] 数据库名;
示例:
drop database if exists 数据库名;
注:如果删除一个不存在的数据库,将会报错。此时,可以加上参数 if exists ,如果数据库存在,再执行删除,否则不执行删除。

5、切换数据库
use 数据库名;
注:我们要操作某一个数据库下的表时,就需要通过该指令,切换到对应的数据库下,否则是不能操作的。

表的使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1、查询所有的表
show tables;

2、查看指定表的结构
desc 表名;

3、查看指定表的建表语句
show create table 表名;

4、创建表的结构
create table 表名(
字段1 字段1类型 [ comment 字段1注释 ],
字段2 字段2类型 [ comment 字段2注释 ],
字段3 字段3类型 [ comment 字段3注释 ],
......
字段n 字段n类型 [ comment 字段n注释 ]
) [ comment 表注释 ] ;
注: [...] 内为可选参数,最后一个字段后面没有逗号

表的修改

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
1、为表添加字段
alter table 表名 add 字段名 类型 (长度) [ comment 注释 ] [ 约束 ];

2、修改字段的数据类型
alter table 表名 modify 字段名 新数据类型 (长度);

3、修改字段名和字段类型
alter table 表名 change 旧字段名 新字段名 类型 (长度) [ comment 注释 ] [ 约束 ];

4、删除字段
alter table 表名 drop 字段名;

5、修改表名
alter table 表名 rename to 新表名;

6、删除表
drop table [ if exists ] 表名;

7、删除指定表,并重新建表
truncate table 表名;

注: 在删除表的时候,表中的全部数据也都会被删除。

插入、修改、删除

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
1、给指定字段添加数据
insert into 表名(字段名1,字段名2,...) values(值1,值2,...);

2、给全部字段添加数据
insert into 表名 values(值1,值2,...);

3、批量添加数据
1、指定字段
insert into 表名 (字段名1, 字段名2, ...) values (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...) ;
2、全部字段
insert into 表名 values (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...) ;

注意事项:
• 插入数据时,指定的字段顺序需要与值的顺序是一一对应的。
• 字符串和日期型数据应该包含在引号中。
• 插入的数据大小,应该在字段的规定范围内。

4、修改数据
update 表名 set 字段名1 = 值1 , 字段名2 = 值2 , .... [ where 条件 ] ;
示例:
修改id为1的数据,将name修改为itheima
update employee set name = 'itheima' where id = 1;

注意事项:
• 修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。

5、删除数据
delete from 表名 [ where 条件 ] ;
示例:
删除gender为女的员工
delete from employee where gender = '女';

注意事项:
• delete 语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。
• delete 语句不能删除某一个字段的值(可以使用 update,将该字段值置为 NULL 即可)。
• 当进行删除全部数据操作时,datagrip 会提示我们,询问是否确认删除,我们直接点击 Execute 即可。

查询(重)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
查询语法结构:

SELECT
字段列表
FROM
表名列表
WHERE
条件列表
GROUP BY
分组字段列表
HAVING
分组后条件列表
ORDER BY
排序字段列表
LIMIT
分页参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
基础查询语句:

1、查询多个字段
select 字段1, 字段2, 字段3 ... from 表名 ;

2、查询所有的字段
select * from 表名; //* 号代表查询所有字段,在实际开发中尽量少用(不直观、影响效率)。

3、字段设置别名
select 字段1 [ as 别名1 ] , 字段2 [ as 别名2 ] ... from 表名;
select 字段1 [ 别名1 ] , 字段2 [ 别名2 ] ... from 表名;

4、去除重复记录
select distinct 字段列表 from 表名;

条件查询语句:

select 字段列表 from 表名 where 条件列表 ;

1、比较运算符

> 大于
< 小于
<= 小于等于
>= 大于等于
= 等于
<>或!= 不等于
between …… and …… 在某个范围之内(含最大值和最小值)
in(……) 在in之后的列表中的值,多选一
like 占位符 模糊匹配(_匹配单个字符,%匹配任意个字符)
is null 是null

2、逻辑运算符

and 和 && 并且(多个条件同时成立)
or或者|| 或者(多个条件任意一个成立)
not 或者 ! 非,不是

3、聚合函数

count 统计数量
max 最大值
min 最小值
avg 平均值
sum 求和
1
语法:select 聚合函数(字段列表) from 表名 ;