赞
踩
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)数据库控制语言
DDL主要是用来对数据库的创建,删除和修改的,所以DDL主包括create(创建),drop(删除),alter(修改)这三条语句。这个三条语句可以对表和数据库进行操作。
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返回值的。
1、对数据库操作的语法:drop database if not exists 数据库名
;
举例:
drop database if not exists `mysql`;
2、对表进行操作的语法:drop table 表名
;
举例:
drop table if not exists `student`;
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`;
1、组成:由字母,数字,下划线,美元符号等一些普通的符号,但是不建议使用普通符号这一类,下划线除外;
2、数据库不区分大小写,一般用下划线(_)区分单词的组成,以英文字母开的
3、不能使用关键字;
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。
1、字段完整性
1、域完整性
实现手段:数据类型,非空(not null),默认值(default)
注:在MySQL里面是没有检查约束的,但是在SQL sever中是有的。
2、实体完整性
实现手段:主键(primary key),自动增长列(auto_increment),唯一键,索引;
3、表完整性
实现手段:外键(foreign key)
4、自定义完整性
实现手段:事务,视图,函数,存储过程……
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。