DDL

DDL

一、DDL的定义

1、DDL的什么

DDL全称(data defination language)数据库定义语言,主要是建表、删除表、修改表字段等操作;DDL是属于SQL的类型之一,SQL(Structure Query Language)结构化查询语言,SQL有四个分类,分别是

DQL(data query language)数据查询语言 select操作

DML(data manipulation language)数据操作语言,主要是数据库增删改三种操作

DDL(data defination language)数据库定义语言,主要是建表、删除表、修改表字段等操作

DCL(data control language)数据库控制语言

2、DDL的作用

DDL主要是用来对数据库的创建,删除和修改的,所以DDL主包括create(创建),drop(删除),alter(修改)这三条语句。这个三条语句可以对表和数据库进行操作。

二、MySQL的DDL

1、create

1、对数据库进行操作的语法:create database 数据库名;

举例:

create database mysql;

2、对表的操作的语法: create table 表名(字段名 数据类型 约束);

举例:

create table if not exists `student`(
	`stuNo` int(4) not null comment '学号' primary key,
    `stuName` varchar(5) not null comment '学生姓名'
) comment = "学生表";

其中 “ ` ” 这个符号是在键盘esc的下面一个按键,这个符号可以使运行时间更快,数据少可能看不出来,但是数据多了效果就会明显一些;

not null:是设置不为空的;

comment:是用来写注释的,就是注释这个字段是什么意思;

primary key :使用来设置主键的;

exists :这是用来判断数据库或表是否存在,存在返回true,不存在返回false;

not exists:这是用来判断数据库或表是否不存在,存在返回false,不存在返回true;

if :是用来判断exists返回值的。

2、drop

1、对数据库操作的语法:drop database if not exists 数据库名;

举例:

drop database if not exists `mysql`;

2、对表进行操作的语法:drop table 表名

举例:

drop table if not exists `student`;

3、alter

alter------>修改数据库对象;

1、修改表名的语法:alter table 旧表名 rename 新表名

alter table `student` rename `stu`;

2、添加字段:alter table 表名 add [column] 字段名 数据类型 约束;

#有column
alter table `stu` add column `sex` char(2) not null;
#没有column
alter table `stu` add  `age` int(5) not null;

注意:column是可以省略的,并且结果是一样的,并不是必要。

3、修改表的字段:修改表的字段分两种:change 和 modify;这两个是有区别的,change修改了字段名,数据类型,约束;modify修改了数据类型和约束,没有修改字段名。

​ 1、change语法:alter table 表名 change [column] 原字段名 新字段名 类型 约束;

alter table `stu` change `stuName` `studentName` varchar(10) not null;

​ 2、modify语法:alter table modify [column] 字段名 类型 约束;

alter table modify `stuNo` varchar(4) comment '学号';

4、修改字段约束:

1、主键:alter table 表名 add constraint 主键名 primary key;

alter table `student` add constraint `pk_id` primary key;

注意:一定要有这个表才可以哦,如果没有就会报错;主键名是自己定义的。

2、外键:alter table 外表名 add constraint (外键名) foreign key(外键字段名)references 主键表名(主键字段名);

alter table `result` add constraint `fk_id`  foreign key(`rid`) references `student`(`rid`);

5、删除字段:alter table 表名 drop[column] 字段名;

alter table `student` drop `sex`;

4、字段

1、字段名的命名规则:

​ 1、组成:由字母,数字,下划线,美元符号等一些普通的符号,但是不建议使用普通符号这一类,下划线除外;

​ 2、数据库不区分大小写,一般用下划线(_)区分单词的组成,以英文字母开的

​ 3、不能使用关键字;

2、字段类型:字段类型分为数值,字符串,日期等;

​ 1、数值:整数,小数

​ 整数:int ,bigint

​ 小数: float ,double ,real ,decimal;其中decimal是小数里面比较常用的数据类型

​ 2、字符:char(长度不可变)、varchar(长度可变的),text,blob(大字段数据类型);

注:长度可变和长度不可变的区别是:在指定长度里面,不可变的如果没有足够的字符就会补空格,可变的就会补空格。

​ 3、日期: date(日期),datetime(日期时间),time(时间),timestamp(时间戳,以毫秒的形式保存日期)

​ 4、boolean(布尔):在MySQL里面是没有直接的Boolean类型的,是用tinyint来表示的,真返回1,假返回0。

3、字段约束

1、字段完整性

​ 1、域完整性

​ 实现手段:数据类型,非空(not null),默认值(default)

​ 注:在MySQL里面是没有检查约束的,但是在SQL sever中是有的。

​ 2、实体完整性

​ 实现手段:主键(primary key),自动增长列(auto_increment),唯一键,索引;

​ 3、表完整性

​ 实现手段:外键(foreign key)

​ 4、自定义完整性

​ 实现手段:事务,视图,函数,存储过程……

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值