@Mysql表的详细操作

引入

在学习表的详细操作之前有必要先了解存储引擎这块的知识👉🏻存储引擎

一.表介绍

库是一个文件夹, 那么表就是一个文件, 而表中的一条记录就相当于文件的一行内容, 不同的是表中的记录都有对应的标题, 这个标题就称之为表的字段

image


如上图所示 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;  # 查看当前库下所有的表

image

三.查看表结构 (desc)

describe [表名];  # 查看表结构
desc [表名];      # 上面的简写
1.演示
describe t01;
desc t02;

image

四.表数据类型

表数据类型有:

数值类型

整数类型
小整数
大整数
整数
等等.....
浮点数类型
单精度
双精度
准确小数值
字符串类型

日期和时间

枚举和集合

由于篇幅过长, 请到该篇文章查看👉🏼表数据类型详解

五.表完整性约束

表的相关操作 :

null
not null
default
unique
primary key
auto_increment
froeign key
等等.....
由于篇幅过长, 请到该篇文章查看👉🏼表完整性约束

六.修改表 (alter)

1.修改存储引擎
🍓语法
alter table [表名] engine=[存储引擎类型];

🍓演示
alter table t02 engine=myisam;  # 将表 t02 的存储引擎修改成 myisam

image

2.修改表名
🍓语法
alter table [旧表名] rename [新表名];

🍓演示
alter table t01 rename tt01;  # 将 t01 改成 tt01

image

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字段后面

image

4.删除字段
🍓语法
alter table [表名] drop [字段名];

🍓演示
alter table tt01 drop cc;  # 删除表tt01的cc字段
alter table tt01 drop dd;  # 删除表tt01的dd字段
image-20210131185420480
`````
![image](https://img2020.cnblogs.com/blog/2296031/202103/2296031-20210314013156506-1586041497.png)
````
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
````
![image](https://img2020.cnblogs.com/blog/2296031/202103/2296031-20210314013117360-829913026.png)
###七.复制表 (create table)
````
值赋值表结构和记录, 主键、外键、索引无法复制
select * from emp2;
desc emp2;
create table new_emp2 select * from emp2;  # 复制表emp2(也可以加上条件)
select * from new_emp2;  # 查看新表记录
desc new_emp2;           # 查看新表结构
 
````
![image](https://img2020.cnblogs.com/blog/2296031/202103/2296031-20210314013104002-1357801279.png)
###八.删除表
```
drop table [表名];
drop table t03;  # 删除表 t03
````
![image](https://img2020.cnblogs.com/blog/2296031/202103/2296031-20210314013019245-206172671.png)
posted @ 2021-03-14 01:37  ଲ一笑奈&何  阅读(56)  评论(0编辑  收藏  举报