
【MySQL】(二)SQL 基础操作之 DDL 数据定义语言
发布日期:2021-05-08 01:08:57
浏览次数:22
分类:精选文章
本文共 2079 字,大约阅读时间需要 6 分钟。
DDL
数据定义语言,用于操作数据库对象的结构
- 数据库的创建和销毁
# 创建数据库create database [if not exists] bd1906;#销毁数据库drop database [if exists] bd1906;
- 表的创建,修改和销毁
1. 创建表create table student( sid int, sname varchar(20), age int, gender varchar(10));# 查看表的状态desc student;2. 修改结构(添加字段,销毁字段,修改字段(字段名称,类型,长度,位置,约束等))alter table tname add/drop/change/modify colname coltype... first|after * 添加字段 追加字段 alter table student add email varchar(20); 添加到首列 alter table student add phone char(11) first; 指定位置: alter table student add card char(18) after sid; * 销毁字段 alter table student drop card; * 修改字段 alter table student modify colname 类型 约束... alter table student change 旧字段名称 新字段名称 类型 约束... # 修改字段名称 alter table student change email semail varchar(20); # 修改字段的类型和长度 alter table student modify sname varchar(50); # 修改位置 alter table student modify semail varchar(20) after sname; 3.销毁表 drop table student; 4.修改表的名称rename table student to stu; 5.清空表(只清空数据,不改变结构)truncate table stu;delete,truncate和drop的区别? drop销毁表结构; truncate不改变结构,只清空数据和重置。
- 数据类型(仅限mysql)
数值类型: 整数: int / bigint 浮点数: float(10,2): 长度是10,小数点后的位数是2 double(16,4): 长度为16,小数点后的位数是4 decimal(m,n): 金额等数据时必须使用decimal 字符串类型:必须指明长度 char(n): 固定长度 varchar(n): 可变长度 日期类型: date: 日期 time: 时间 datetime: 日期和时间 timestamp: 时间戳 其他类型: text: 文本类型 blob: 二进制数据类型 enum() / set() / json()
数据完整性
数据的准确性和可靠性
实体完整性
实体指的就是记录,就是保证记录是准确的,不重复的- 主键约束: 唯一而且不能为空(primary key)
# 场景1: 创建表的同时添加约束create table student( sid int primary key, sname varchar(20) );create table student( sid int, sname varchar(20), primary key(sid) );# 场景2: 表已经存在(主键字段绝对不能存在重复的数据)alter table stu add constraint PK_ID primary key (sid);# 注意: 1.每张表必须有主键,但是有且只能有一个,允许有联合主键 2.主键字段一般数据类型和长度尽可能小 3.主键字段不要使用业务字段
- 唯一约束: 字段的值必须唯一
create table student( card char(18) unique)alter table stu add constraint UQ_CARD unique (card);
- 主键自增: auto_increment: 默认从1开始每次增加1
域完整性
域:字段
类型约束
- not null:非空约束
- default: 默认值
引用完整性
其中一张表的字段取值需要依赖于另一张表
外键约束
alter table emp add constraint FK_DEPTNO foreign key(deptno) references dept(deptno);
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年03月21日 08时49分05秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
针对单个网站的渗透思路
2021-05-08
Typescript 学习笔记六:接口
2021-05-08
02、MySQL—数据库基本操作
2021-05-08
OpenJDK1.8.0 源码解析————HashMap的实现(一)
2021-05-08
MySQL-时区导致的时间前后端不一致
2021-05-08
2021-04-05阅读小笔记:局部性原理
2021-05-08
go语言简单介绍,增强了解
2021-05-08
架构师入门:搭建基本的Eureka架构(从项目里抽取)
2021-05-08
MongoDB 快速扫盲贴
2021-05-08
one + two = 3
2021-05-08
sctf_2019_easy_heap
2021-05-09
PyQt5之音乐播放器
2021-05-09
Redis进阶实践之十八 使用管道模式提高Redis查询的速度
2021-05-09
SQL注入
2021-05-09
MPI Maelstrom POJ - 1502 ⭐⭐ 【Dijkstra裸题】
2021-05-09
Problem 330A - Cakeminator (思维)
2021-05-09
LeetCode75 颜色分类 (三路快排C++实现与应用)
2021-05-09
C语言+easyX图形库的推箱子实现
2021-05-09
调试vs2019代码的流程
2021-05-09
脱壳与加壳-加壳-6-代码实现加密导入表
2021-05-09