当前位置: 首页 > article >正文

NYSQL期中小结

创建表

[语句不要拼错,表名、列明不要写错,语句难记要记住]

模版

create table 表名(列名1 数据类型 [约束],

列明2 数据类型 [约束]);

约束

单一主码约束

primary key

联合主码约束

primary key(列名1,列名2) [要在列名定义后,的单独表级约束]

如:sc表的 sno 引用Student的外码(sno)

foreign key(sno) references student(sno)

外码约束

foreign key(当前列名) references 另一表名(参照列名)

设置删除限制

cascade 强制执行

restrict 有条件约束

on delete restrict

更新级联

on update cascade

实战实例

sc表的 sno 引用Student的外码(sno),设置删除限制,更新级联

foreign key(sno) references student(sno) on delete restrict on update cascade

非空约束

not null

唯一约束

unique [允许有一个空值]

枚举类型

[有的版本不支持]

ENUM(''男,'女') [前面无需数据类型]

条件约束

列名 数据类型 check(列名=0)

默认取值

default 取的值 如 default '计算机系'

数据类型

char(n)

varchar(n)可变长字符

int

smallint

枚举类型一定是enum 且前面不需加数据类型

decimal(m,n) m表示数据长度(整数位数+小数位数),n表示小数点后长度

修改表

模版

alter table 表名

add 新列名 数据类型 [约束] //新增加一个列,

drop column 列名 //删除列,

modify 待修改的列名 要修改的数据类型 //修改列的类型,

add column 列名 type 数据类型 //修改列的类型,

add foreign key(列名1) references 表名(列名2) on delete cascade,

rename column 旧列名 to 新列名 //修改列名,

增加自动增长列

alter table 表名 add column 列名 数据类型 auto_increment

实例:

alter table spj add column id int PRIMARY KEY auto_increment;

当一个select 要修改多个时候,多个语句要加逗号隔开

修改职工表emp:

增加列:部门编号:dno char(3) ,设置外码约束参照部门表dept的dno,并设置删除和更新均为级联。

alter table emp 
add column dno char(3) ,
add FOREIGN KEY (dno) REFERENCES dept(dno) ON DELETE CASCADE ON UPDATE CASCADE;

查询表

模版


http://www.kler.cn/a/369492.html

相关文章:

  • Typora一款极简Markdown文档编辑器和阅读器,实时预览,序列号生成!免费!最新可用!
  • docker安装、设置非sudo执行、卸载
  • 博客搭建之路:hexo搜索引擎收录
  • Vue 3 的组件式开发(1)
  • 【Orange Pi 5 Linux 5.x 内核编程】-字符设备文件与操作(IOCTL)
  • 504 Gateway Time-outopenresty
  • Redis 命令集 (超级详细)
  • 一些MySQL的知识
  • 网口电路设计
  • 【字节实习生模型训练代码注入】如何实现
  • 扩展欧几里得算法(裴蜀定理)
  • Android Junit 单元测试 | 依赖配置和编译报错解决
  • Mybatis-14.XML映射文件
  • 【Git 】Windows 系统下 Git 文件名大小写不敏感
  • [简易版] 自动化脚本
  • Ubuntu18.04换装更高版本的cmake
  • ENGAGE SHE连锁品牌盛启,寻找更多城市合伙人
  • 中国人寿财险青岛市分公司:携手共进,共创未来
  • Python学习-列表基本操作
  • Android在kts中使用navigation及Args
  • 机器学习【学校智慧食堂及其应用】
  • 【Bug】iOS 不支持运行或调试你的项目的上一个生成版本。 请先确保生成解决方案,再运行或调试它。
  • 自动驾驶---基于dds/ros的通信中间件
  • vue父子通讯
  • mac nwjs程序签名公证(其他mac程序也一样适用)
  • 超流畅的精简版Win10系统:仅占4GB,流畅稳定