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

扩展语句

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 '地址不详',

相关推荐
踢足球092912 小时前
寒假打卡:2026-2-3
数据库
每次学一点12 小时前
【ZeroTier自研之路】planet的组成
服务器·网络·数据库
策知道12 小时前
2026年北京政府工作报告产业指标深度解析
大数据·数据库·人工智能·搜索引擎·政务
Traced back13 小时前
# C# WinForms 数据库清理系统基础知识与避坑指南
开发语言·数据库·c#
云边有个稻草人13 小时前
金仓 VS MongoDB:国产数据库凭什么成为MongoDB平替首选?
数据库·mongodb·国产数据库·金仓·kingbasees sql
DarkAthena13 小时前
【GaussDB】排查创建索引后查询数据行数发生变化的问题
数据库·sql·gaussdb
MengFly_13 小时前
Compose 脚手架 Scaffold 完全指南
android·java·数据库
PPPPickup13 小时前
application.yml或者yaml文件不显示绿色问题
java·数据库·spring
面对疾风叭!哈撒给14 小时前
Windows 系统安装 Mysql 8.0+
数据库·windows·mysql
he___H14 小时前
Redis高级特性
数据库·redis·缓存