数据库扩展语句,约束方式

扩展语句

create table if not exists ky32 ():如果表存在就不创建了

zerofill 自动补齐(在命令行可以查看)

primary key 设置成主键

auto_increment 表示这一列可以自增,默认从1开始,每条记录会自增1

unique key 不能重复

create table test like ky32;

通过like这个语法直接复制ky32表的结构**(但是没有数据)**

insert into test select * from ky32;

把ky32 表里的数据,复制到test,两个表数据结构要一致。

create table test1 (select * from ky32);

创建一张表,test1,数据从ky32来,表结构也是ky32;直接全部复制

删除表内所有数据:

delete truncate drop

delete from ky32;

delete删除是一行一行删除,如果表中有自增长列,清空所有记录之后,再次添加内容,会从原来的记录之后继续自增写入。

truncate table ky32;

清空表中的数据,而且会把表结构重新建立。速度上比delete快,推荐

drop table test1;

直接删除表,不推荐。

创建临时表:临时表一般用于调试,而且临时表创建之后在表的目录当中是不显示的连接退出之后,临时表会被销毁。而且临时表无法创建外键。

create temporary table test1 ();

MySQL的约束方式;

6种常见的约束:

1,主键约束,用于唯一表示表中的每一行,主键列的值必须唯一而且不能为空,一个表只能有一个主键

2,外键约束,用于建立表于表之间的关系,一般是和另一张表的主键关联。保证数据引用的完整性。一个表可以有多个外键。

3,非空约束,not null 必须要有一个值。

4,唯一性约束:unique,确保列中的所有值都是唯一的,类似于主键,但是可以为空,而且一个表可以有多个唯一约束。

5,默认值约束:default,在插入数据时,如果没有定义值,会提供一个默认值。

6,自增约束:每行自动生成一个唯一标识。通常和主键在一起使用。

foreign key (card_id) references student (card_id) 外键连接,要保存一致

show create table class; 在命令行显示外键连接

alter table class drop foreign key class_ibfk_1;

删除外键连接。

desc class 查看class表的结构

mul:表示这是一个索引。

alter table class drop index card_id;

删除class表中card_id的索引

alter table class drop primary key;

删除主键

这是一个自增约束的主键,要改变数据类型要先解除自增约束,之后主键才能删除。

alter table class modify stud_id int (12); 改变类型

练习:

用修改的方式添加主键

alter table depart add foreign key (work_id) references company (work_id);

修改主键

alter table depart drop primary key;

alter table depart add primary key (de_id);

CREATE TABLE company (

work_id int(4) PRIMARY KEY ZEROFILL,

name char(5) not null,

sex char(2) not null

);

desc company;

CREATE TABLE depart (

de_id int(6) ZEROFILL PRIMARY KEY,

work_id int(4) not null ZEROFILL,

FOREIGN KEY (work_id) REFERENCES company (work_id),

addrss VARCHAR(255) DEFAULT '地址不详',

相关推荐
float_六七1 小时前
SQL六大核心类别全解析
数据库·sql·oracle
Code季风3 小时前
将 gRPC 服务注册到 Consul:从配置到服务发现的完整实践(上)
数据库·微服务·go·json·服务发现·consul
Boilermaker19923 小时前
【Java EE】SpringIoC
前端·数据库·spring
霸王龙的小胳膊3 小时前
泛微虚拟视图-数据虚拟化集成
数据库
灵犀学长3 小时前
解锁Spring Boot多项目共享Redis:优雅Key命名结构指南
数据库·redis
轩情吖4 小时前
Qt的信号与槽(二)
数据库·c++·qt·信号·connect·信号槽·
ZeroNews内网穿透4 小时前
服装零售企业跨区域运营难题破解方案
java·大数据·运维·服务器·数据库·tcp/ip·零售
可观测性用观测云4 小时前
达梦数据库监控观测最佳实践
数据库
时序数据说4 小时前
IoTDB:专为物联网场景设计的高性能时序数据库
大数据·数据库·物联网·开源·时序数据库·iotdb
码农小站5 小时前
ClickHouse 时间范围查询:精准筛选「本月数据」
数据库