欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySql数据表的基本操作

程序员文章站 2022-05-03 14:41:46
...

1. 数据表的创建

比如说创建一个test_db的数据表,结构如下MySql数据表的基本操作

# 创建表 test_db
CREATE TABLE test_db
(
id INT(11),
name VARCHAR(25),
deptId INT(11),
salary float
);

2. 数据表的查询

  • DESCRIBE/DESC 查询
# 查询数据表结构
DESC test_db;

查询结果
MySql数据表的基本操作

  • SHOW CREATE TABLE 查询
# 查询数据表结构
SHOW CREATE TABLE test_db;

查询结果

MySql数据表的基本操作
该语句还可以看到当前表的详细语句存储引擎字符集校对规则

3. 更新数据表

3.1 新增列 ADD

3.1.1 在最后新增列

test_db 表新增列,列名是 new_column,数据类型是 VARCHAR,长度是 25 字节

# 新增列
ALTER TABLE test_db ADD new_column VARCHAR(25);

结果
MySql数据表的基本操作

3.1.2 在最前面新增列 FIRST

test_db 表新在最前面增列,列名是 new_column,数据类型是 VARCHAR,长度是 25 字节

# 新增列
ALTER TABLE test_db ADD new_column VARCHAR(25) FIRST;

3.1.3 在某列后新增列 AFTER

test_db 表新在 id 列后新增列 ,列名是 testId,数据类型是 VARCHAR,长度是 25 字节

# 新增列
ALTER TABLE tb_emp1 ADD testId INT(4) AFTER id;

3.2 修改列 CHANGE COLUMN

test_db 修改增列 new_column,新列名是 md_column,数据类型是 INT,长度是 10 字节

# 修改列
ALTER TABLE test_db CHANGE COLUMN new_column md_column INT(10);

结果
MySql数据表的基本操作

3.3 更新列值 ALTER COLUMN

test_db 修改 md_column 的默认值为20

# 修改默认值
ALTER TABLE test_db ALTER COLUMN md_column SET DEFAULT 20;

结果
MySql数据表的基本操作
test_db 删除 md_column 的默认值

# 修改默认值
ALTER TABLE test_db ALTER COLUMN md_column DROP DEFAULT;

3.4 更新列字符类型长度 MODIFY COLUMN

test_db 修改 md_column 的字符类型长度为 20

# 修改字符类型
ALTER TABLE test_db MODIFY COLUMN md_column INT20;

MySql数据表的基本操作

3.6 删除列 DROP COLUMN

test_db 删除 md_column 列

# 删除列
ALTER TABLE test_db DROP COLUMN md_column;

3.7 更新表名 RENAME TO

test_db 更新表名为 tb_emp1

# 更新表名
ALTER TABLE test_db RENAME TO tb_emp1;

结果MySql数据表的基本操作

3.8 更新表字符集 CHARACTER SET

tb_emp1更新字符集为 utf8

# 更新字符集
ALTER TABLE tb_emp1 CHARACTER SET 'utf8';

结果
MySql数据表的基本操作

3.8 更新表校对规则 COLLATE

tb_emp1更新校对规则为 utf8_bin

# 更新字符集
ALTER TABLE tb_emp1 COLLATE 'utf8_bin';

4. 删除数据表

删除表 tb_emp1 ,如果存在

# 删除表
DROP TABLE IF EXISTS tb_emp1;

结果
MySql数据表的基本操作

同时删除多个表

# 删除表
DROP TABLE IF EXISTS tb_emp1,tb_emp2...;

5. 创建关联表

将表 tb_emp2 的 deptId 和表 tb_emp1 的 id 关联,外键约束名称 fk_emp1_emp2 ,此时表 tb_emp2 是表 tb_emp1 的子表

# 创建tb_emp2,关联表tb_emp1,
CREATE TABLE tb_emp2
(
id INT(11) PRIMARY KEY,
name VARCHAR(25),
deptId INT(11),
salary FLOAT,
CONSTRAINT fk_emp1_emp2 FOREIGN KEY (deptId) REFERENCES tb_emp1(id)
);

MySql数据表的基本操作
MySql数据表的基本操作
可以看出, tb_emp2 有名称 fk_emp1_emp2 的外键约束,外键是 deptId
MySql数据表的基本操作

相关标签: 后端 mysql