目录
SQL语句分类
DDL
数据库操作
1. 查询所有数据库
2. 查询当前数据库
3. 创建数据库
案例:创建一个itcast数据库,使用数据库默认的字符集
案例:创建一个itheima数据库,并且指定字符集
4. 删除数据库
5. 切换数据库
表操作
1. 查询当前数据库所有表
2. 查询指定表结构
3. 查询指定表的建表语言
4. 创建表
5. 添加字段
6. 修改数据类型
7. 修改字段名和字段类型
8. 删除字段
9. 修改表名
10. 删除表
11. 清空表数据
DML
添加数据
1. 给指定字段添加数据
2. 给全部字段添加数据
3. 批量添加数据
修改数据
1. 修改数据
删除数据
1. 删除数据
SQL语句分类
SQL语句,根据其功能,主要分为四类:DDL、DML、DQL、DCL。
分类 | 全称 | 说明 |
---|---|---|
DDL | Data Definition Language | 数据定义语言,用来定义数据库对象(数据库,表,字段) |
DML | Data Manipulation Language | 数据操作语言,用来对数据库表中的数据进行增删改 |
DQL | Data Query Language | 数据查询语言,用来查询数据库中表的记录 |
DCL | Data Control Language | 数据控制语言,用来创建数据库用户、控制数据库的访问权限 |
DDL
数据库操作
1. 查询所有数据库
show databases;
2. 查询当前数据库
select database();
3. 创建数据库
create database [ if not exists ] 数据库名 [ default charset 字符集 ] [ collate 排序规则 ];
案例:创建一个itcast数据库,使用数据库默认的字符集
create database itcast;
create database if not extists itcast;
案例:创建一个itheima数据库,并且指定字符集
create database itheima default charset utf8mb4;
4. 删除数据库
drop database [ if exists ] 数据库名;
5. 切换数据库
use 数据库名;
表操作
1. 查询当前数据库所有表
use sys;
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 表注释 ];
案例:创建表结构如下
create table tb_user(
id int comment '编号',
name varchar(50) comment '姓名',
age int comment '年龄',
gender varchar(1) comment '性别'
) comment '用户表';
5. 添加字段
ALTER TABLE 表名 ADD 字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];
案例:为emp表添加一个新的字段,昵称为"nickname",类型为varchar(20)
ALTER TABLE emp ADD nickname varchar(20) COMMENT '昵称';
6. 修改数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型 (长度);
7. 修改字段名和字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];
案例:将emp表的nickname字段修改为username,类型为varchar(30)
ALTER TABLE emp CHANGE nickname username varchar(30) COMMENT '昵称';
8. 删除字段
ALTER TABLE 表名 DROP 字段名;
9. 修改表名
ALTER TABLE 表名 RENAME TO 新表名;
案例:将emp表的表名修改为 employee
ALTER TABLE emp RENAME TO employee;
10. 删除表
DROP TABLE [ IF EXISTS ] 表名;
11. 清空表数据
TRUNCATE TABLE 表名;
DML
添加数据
1. 给指定字段添加数据
INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...);
insert into employee(id,workno,name,gender,age,idcard,entrydate) values(1,'1','Itcast','男',10,'123456789012345678','2000-01-01');
2. 给全部字段添加数据
INSERT INTO 表名 VALUES (值1, 值2, ...);
3. 批量添加数据
INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...), (值1, 值2, ...), (值
1, 值2, ...);
INSERT INTO 表名 VALUES (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...);
修改数据
1. 修改数据
UPDATE 表名 SET 字段名1 = 值1 , 字段名2 = 值2 , .... [ WHERE 条件 ] ;
注意:修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。
删除数据
1. 删除数据
DELETE FROM 表名 [ WHERE 条件 ] ;
注意
DELETE 语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。
DELETE 语句不能删除某一个字段的值(可以使用UPDATE,将该字段值置为NULL即可)。