引入
在学习表的详细操作之前有必要先了解存储引擎这块的知识👉🏻存储引擎
一.表介绍
库是一个文件夹, 那么表就是一个文件, 而表中的一条记录就相当于文件的一行内容, 不同的是表中的记录都有对应的标题, 这个标题就称之为表的字段
如上图所示 id、name、age、sex就称之为字段, 下面的都称之为一条条的记录
二.创建表 (creat)
1.创建表的完整语法
在同一张表内, 字段名不能相同
宽度和约束条件可选, 字段名和类型是必须的
约束条件可以写多个
最后一个字段不能有逗号,否则报错
create table [表名](
[字段名1] [类型(宽度)] [约束条件],
[字段名1] [类型(宽度)] [约束条件],
[字段名1] [类型(宽度)] [约束条件],
....
);
2.查看表
show tables; # 查看当前库下的所有表
show create table [表名]; # 指定查看某一个表
3.创建示例
create database db01 charset utf8; # 创建一个数据库
use db01; # 进入库
create table t01(id int,name varchar(12),age int(3),sex char); # 创建表t01
create table t02(id int,name varchar(12),age int(3),sex char); # 创建表t02
create table t03(id int,name varchar(12),age int(3),sex char); # 创建表t03
show tables; # 查看当前库下所有的表
三.查看表结构 (desc)
describe [表名]; # 查看表结构
desc [表名]; # 上面的简写
1.演示
describe t01;
desc t02;
四.表数据类型
表数据类型有:
数值类型
整数类型
小整数
大整数
整数
等等.....
浮点数类型
单精度
双精度
准确小数值
字符串类型
日期和时间
枚举和集合
由于篇幅过长, 请到该篇文章查看👉🏼表数据类型详解
五.表完整性约束
表的相关操作 :
null
not null
default
unique
primary key
auto_increment
froeign key
等等.....
由于篇幅过长, 请到该篇文章查看👉🏼表完整性约束
六.修改表 (alter)
1.修改存储引擎
🍓语法
alter table [表名] engine=[存储引擎类型];
🍓演示
alter table t02 engine=myisam; # 将表 t02 的存储引擎修改成 myisam
2.修改表名
🍓语法
alter table [旧表名] rename [新表名];
🍓演示
alter table t01 rename tt01; # 将 t01 改成 tt01
3.增加字段
🍓三种语法
alter table [表名]
add [字段名] [数据类型] [完整性约束条件...],
add [字段名] [数据类型] [完整性约束条件...]; # 多个字段用逗号隔开
alter table [表名]
add [字段名] [数据类型] [完整性约束条件...] first; # 插入到第一个字段
alter table [表名]
add [字段名] [数据类型] [完整性约束条件...] after [字段名]; # 添加到某某字段之后
🍓演示
alter table tt01 add aa int not null,add bb char(10) not null default "B"; # 增加aa和bb字段
alter table tt01 add cc int first; # 将cc字段新增到最前面
alter table tt01 add dd int after name; # 将dd字段新增到name字段后面
4.删除字段
🍓语法
alter table [表名] drop [字段名];
🍓演示
alter table tt01 drop cc; # 删除表tt01的cc字段
alter table tt01 drop dd; # 删除表tt01的dd字段
5.修改字段类型
🍓语法
alter table [表名] modify [字段名] [数据类型(宽度)] [约束条件];
alter table [表名] change [就字段名] [新字段名] [字段类型(宽度)] [约束条件];
🍓演示
alter table tt01 modify aa varchar(16); # 将表tt01的aa字段类型改为varchar
alter table tt01 modify bb int; # 将表tt01的bb字段类型改为int
七.复制表 (create table)
值赋值表结构和记录, 主键、外键、索引无法复制
select * from emp2;
desc emp2;
create table new_emp2 select * from emp2; # 复制表emp2(也可以加上条件)
select * from new_emp2; # 查看新表记录
desc new_emp2; # 查看新表结构
八.删除表
drop table [表名];
drop table t03; # 删除表 t03
---END---