DDL数据定义语言
DDL (数据定义语言):
在数据库中创建或删除数据库对象等操作,如create,drop,alter等语句。
表之间的关系
一对一 、一对多、多对一、多对多
关联关系写在多的一方
如果是多对多则新建关系表
DDL的语法
create
创建数据库:
create database 数据库名;
create database myschool;
创建表:
create tabale 表名(
字段名1 数据类型 约束,
字段名2 数据类型 约束,
…
);
create table student(
studentNo int(4) not null primary key,
studenName varchar(20) not null
);
drop
删除数据库:
drop database 数据库名;
drop database myschool;
删除表:
drop tabalse 表名;
drop tabale student;
alter
定义:修改数据库的对象
修改表名:
alter table 旧表名 rename 新表名;
alter table student rename yearstudent;
添加字段:
alter table 表名 add [column] 字段名 数据类型 约束;
alter table student add uid int(4) not null;
修改表的字段:
1.chanage:修改字段名+类型+约束
alter table 表名 change [column] 原字段类型 新字段类型 类型 约束;
alter table student chang [column] studentNo int(4) student2 varchar(20) not null;
2.modify:修改数据类型+约束
alter table modify [column] 字段名 类型 约束;
alter table modify studentName int(4) not null;
修改字段约束;
主键:
alter table 表名 add constraint 主键名 primary key 表名(字段名);
alter table student add constraint fk_studntNo primary key student(studentNO);
外键:
alter table[外键表名] 表名 add constaint (外键名) foregin key 外键字段名 references 主键表名(主键的字段名);
alter table result add constaint foregin key reault.studnetNo references student(studentNo);
删除字段:
alter table 表名 drop [column] 字段名;
alter table student drop studnetName;
常用数据类型
数值类型
类型 | 大小 | 用途 |
---|---|---|
TINYINT | 1 字节 | 小整数值 |
SMALLINT | 2 字节 | 大整数值 |
MEDIUMINT | 3 字节 | 大整数值 |
INT或INTEGER | 4 字节 | 极大整数值 |
BIGINT | 8 字节 | 单精度浮点数值 |
FLOAT | 4 字节 | 双精度浮点数值 |
DOUBLE | 8 字节 | 小数值 |
字符类型
数据类型 | 字节 | 说明 |
---|---|---|
CHAR[(M)] | M为0~255的整数 | 固定字符串 |
VARCHAR[(M)] | 可变长度 | M为0~65535的整数 |
TINYTEXT | 0~255 | 微型文本串 |
TEXT | 0~65535 | 文本串 |
日期型
**类型 | 范围 | 格式 | 用途 |
---|---|---|---|
DATE | 1000-01-01/9999-12-31 | YYYY-MM-DD | 日期值 |
TIME | ‘-838:59:59’/’838:59:59’ | HH:MM:SS | 时间值或持续时间 |
YEAR | 1901/2155 | YYYY | 年份值 |
DATETIME | 1000-01-01 00:00:00/9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 |
TIMESTAMP | 1970-01-01 00:00:00/2037 年某时 | YYYYMMDD HHMMSS | 混合日期和时间值,时间戳 |