🍖MySQL表的详细操作

引入

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

一.表介绍

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

image-20210130171627106

如上图所示 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-20210131171154139

三.查看表结构 (desc)

describe [表名];  # 查看表结构
desc [表名];      # 上面的简写

1.演示

describe t01;
desc t02;

image-20210131171841719

四.表数据类型

表数据类型有:

  • 数值类型

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

  • 日期和时间

  • 枚举和集合

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

五.表完整性约束

表的相关操作 :

  • null
  • not null
  • default
  • unique
  • primary key
  • auto_increment
  • froeign key
  • 等等.....

由于篇幅过长, 请到该篇文章查看👉🏼表完整性约束

六.修改表 (alter)

1.修改存储引擎

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

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

image-20210131184750648

2.修改表名

🍓语法
alter table [旧表名] rename [新表名];

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

image-20210131173339603

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-20210131182833532

4.删除字段

🍓语法
alter table [表名] drop [字段名];

🍓演示
alter table tt01 drop cc;  # 删除表tt01的cc字段
alter table tt01 drop dd;  # 删除表tt01的dd字段

image-20210131185420480

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-20210131190702670

七.复制表 (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

image-20210201234029212

---END---

posted @ 2021-02-01 23:42  给你骨质唱疏松  阅读(150)  评论(0编辑  收藏  举报