MySQL 基础知识(四)之表操作

目录

1 约束

2 查看已有表

3 创建表

4 查看表结构

5 修改表

6 删除表


1 约束

  • 主键约束 primary key:唯一,标识表中的一行数据,此列的值不可重复,且不能为 NULL,此外,可以多个列组成主键
  • 唯一约束 unique:唯一,标识表中的一行数据,该行不可重复,可以为 NULL
  • 非空约束 not null:非空,约束此列的每一个单元格不允许有 NULL
  • 默认值约束 default:为列赋予默认值,当新增的数据不指定值时,可以通过 default 设置默认值进行填充
  • 外键约束 foreign key:从表只能添加主表已有的数据。两张表存在引用关系时,执行删除操作需要注意,先删除从表(引用表、外键表),再删除主表(被引用表、主键表)
  • 自动增长列 auto_increment:自动增长,给主键数值列添加自动增长。从1开始,每次加1。不能单独使用,和主键搭配

2 查看已有表

查看已有表可以通过 show tabes; 也可通过 show tables from 数据库名;

show tables;
show tables from study;

  MySQL 基础知识(四)之表操作_第1张图片   MySQL 基础知识(四)之表操作_第2张图片

3 创建表

drop table if exists person; #如果表 person 已存在,则删除 
create table person (
id int(10) primary key auto_increment, #主键,自动增长
name varchar(14) unique not null, #该行不重复,不为空
age int,
sex char(10) default '女' #没有插入该列,填入默认值"女"
)charset=utf8; #utf-8 编码

#多行插入
insert into person(name, age, sex) values
('西施', 18, '女'),
('大乔', 32, null),
('王昭君', 24, null);

通过 “source sql 文件地址”导入

MySQL 基础知识(四)之表操作_第3张图片

sex 列设置为 default,只有不插入该列,才会填入默认值

insert into person(name,age) values('赵飞燕',27);

MySQL 基础知识(四)之表操作_第4张图片

name 列设置为 unique not null,则该列名字不能重复,也不能为 NULL

insert into person(name,age) values('赵飞燕', 25);
insert into person(name,age) values(null, 25);

b0fb3c0644804c69994d47d1af9c1cd4.png

4 查看表结构

show create table perosn;

MySQL 基础知识(四)之表操作_第5张图片

  • ENGINE 用于设置存储引擎
  • AUTO_INCREMENT 为下一条插入数据的主键值,一般是最后一条数据的主键值 + 1,其他情况,如删除整张表的数据(表还在),再重新插入,此时第一条数据的主键值则从 AUTO_INCREMENT 保存的值开始。当然,以上情况都基于主键设置了 auto_increment
  • DEFAULT CHARSET 用于设置字符集编码格式
desc person;
describe person;
explain person;
show columns from person;

上述四行代码作用相同,都可以查看表相关列信息

MySQL 基础知识(四)之表操作_第6张图片

5 修改表

 表中添加新列,alter table 表名 add 列名 数据类型 [约束] ;

alter table person add height int;

MySQL 基础知识(四)之表操作_第7张图片

修改表中列的数据类型和约束,alter table 表名 modify 列名 数据类型 [约束] ;

alter table person modify height int default 168;

MySQL 基础知识(四)之表操作_第8张图片

 MySQL 基础知识(四)之表操作_第9张图片

改变列名,alter table 表名 change 旧列名 新列名 数据类型 约束。改变列名时也可以更改数据类型和约束。

alter table person change height high int;

a04708abf76044edabacc9dde862e1ae.png

MySQL 基础知识(四)之表操作_第10张图片

删除列,alter table 表名 drop 列名

alter table person drop high;

MySQL 基础知识(四)之表操作_第11张图片

修改表名,alter table 旧表名 rename 新表名

alter table person rename student;

MySQL 基础知识(四)之表操作_第12张图片

6 删除表

drop table student;

MySQL 基础知识(四)之表操作_第13张图片

你可能感兴趣的:(MySQL,mysql,数据库)