# 创建表
CREATE TABLE table_name
(
field1 datatype,
field2 datatype,
field3 datatype
)character set 字符集 collate 校对规则 engine 引擎
1
2
3
4
5
6
2
3
4
5
6
# 实例
- 创建一个user表,列名id、name、password、birthday,指定字符集utf8,区分大小写。
CREATE TABLE `user`(
id INT,
`name` VARCHAR(255),
`password` VARCHAR(255),
birthday DATE)
CHARACTER SET utf8 COLLATE utf8_bin ENGINE INNODB
1
2
3
4
5
6
2
3
4
5
6
- 创建一个员工表,选用适当的数据类型
CREATE TABLE `emp`(
id INT,
`name` VARCHAR(32),
sex CHAR(1),
birthday DATE,
entry_time DATETIME,
job VARCHAR(32),
salary DOUBLE,
`resume` TEXT)
CHARACTER SET utf8 COLLATE utf8_bin ENGINE INNODB
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 修改表
添加字段:
ALTER TABLE table_name
ADD (column datatype)
修改字段:
ALTER TABLE table_name
MODIFY(column datatype)
删除字段:
ALTER TABLE table_name
DROP(column datatype)
修改表名:
RENAME TABLE table_name TO new_name
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 实例
- 在员工表resume后面添加img字段,varchar类型
ALTER TABLE emp
ADD img VARCHAR(32) NOT NULL DEFAULT ''
AFTER `resume`
1
2
3
2
3
- 修改job字段,使其长度为60
ALTER TABLE emp
MODIFY job VARCHAR(60)
1
2
2
- 删除sex列
ALTER TABLE emp
DROP sex
1
2
2
4.修改表名为employee
RENAME TABLE emp TO employee
1
5.修改字符集为utf8
ALTER TABLE employee
CHARACTER SET utf8
1
2
2
6.修改列名name为user_name
ALTER TABLE employee
CHANGE NAME user_name VARCHAR(32) NOT NULL DEFAULT ''
1
2
2
# 添加
INSERT INTO table_name [(column)]
VALUES (value)
1
2
2
# 实例
- 添加两条数据到goods表
INSERT INTO goods (id,goods_name,price)
VALUES(01,'小米13',3999)
INSERT INTO goods (id,goods_name,price)
VALUES(02,'iPhone13',6999)
1
2
3
4
5
2
3
4
5
# INSERT 补充
- 插入的数据应与字段的数据类型相同
- 数据长度应该在列的规定范围之内
- 数据位置必须与被插入的列排列位置相对应
- 字符和日期数据类型应该包含在单引号中
- 列可以插入空值,前提是该字段允许为空
- 给所有字段添加数据,可以不写字段名称
# 更新
UPDATE tab_name
SET col_name = expr1
[WHERE where_definition]
1
2
3
2
3
# 实例
- 把所有员工的薪水修改为5000
UPDATE employee SET salary = 5000
1
- 将张三的薪水修改为4000元
UPDATE employee
SET salary = 4000
WHERE `user_name` = '张三'
1
2
3
2
3
3.将张三的工资增加1000元,同时修改工作为设计师
UPDATE employee
SET salary = salary + 1000,job = '设计师'
WHERE `user_name` = '张三'
1
2
3
2
3
# 删除
DELETE FROM tb_name
[WHERE where_definition]
1
2
2
# 实例
- 删除员工表中为李四的记录
DELETE FROM employee
WHERE user_name = '李四'
1
2
2
- 删除表中所有记录
DELETE FROM employee
1
# DELETE 补充
- 不带where条件会删除所有记录
- 不能删除某个字段的值,可以update为空值
- 只能删除记录,不删除表本身,可使用drop删除表