DDL:Data Define Language,数据定义语言,用于对数据库和表的管理和操作
库的管理
一、如何创建数据库
create database + 数据库名;
create database if not exists + 数据库名;(减少异常发生,java适用)
二、删除数据库
drop database + 库名
drop database if exists + 库名
表的管理
一、创建表
一、语法
create table if not exists + 表名(
字段名 字段类型 [字段约束],
字段名 字段类型 [字段约束],
字段名 字段类型 [字段约束],
字段名 字段类型 [字段约束]
);
二、常见约束
说明:用于限制表中字段的数据的,从而进一步保证数据表的数据是一致的、准确的、可靠的
1.not null 非空:用于限制该字段为必填项
2.default 默认:用于限制该字段没有显式插入值,则直接显式默认值
3.primary key 主键:用于限制该字段值不能重复,设置为主键的字段默认不能为空,一个表只能有一个主键,也可以是组合组建
4.unique 唯一:用于限制该字段值不能重复,没有主键强大,设置为唯一的字段默认可以为空,一个表可以有多个唯一
5.check 检查:用于限制该字段值必须满足指定条件
6.foreign key 外键:限制两个表的关系
要求:
<1>主表的关联列和从表的关联列的类型必须一致,意思一样,名称无要求
<2>主表的关联列要求必须是主键
三、常用类型
int:整型
double/float:浮点型,eg:double(5,2)[可省略]表示最多5位,其中必须有2位小数,即做大值为999.99
decimal:浮点型,在表示货币运算方面,不会出现精度缺失问题
char:固定长度字符串类型;char(4)范围是0~255(固定的长度)
varchar:可变长度字符串类型(动态分配长度)
eg:存储字符‘哈哈哈哈’,若char(10),则分配10个空间,哈哈哈哈占4个,其余空格补齐,若varchar(10),则只分配4个空间
char效率高一些,varchar则低一些
text:字符串类型,表示存储较长文本
blob:字节类型 (二进制类型)jpg,mp3,avi
date:日期类型,格式为yyyy-mm-dd
time:时间类型,格式 hh:mm:ss
timestamo:时间戳类型:日期+时间
二、修改表
一、语法
alter table 表名 add|modify|change|drop +column 字段名 字段类型 字段约束;
二、演示
1.修改表名
alter table stuinfo rename to student;
2.添加字段
alter table student add column birthday timestamp not null;
birthday | timestamp | NO | | NULL |
3.修改字段名
alter table student change colum borndate home timestamp null;
4.修改字段类型
alter table student modify column birthday timestamp;
5.删除字段
alter table student drop column birthday ;
三、删除表
drop table if exists + 表名
四、复制表
仅仅复制表结构
create table + 新表名 like + 原表名
复制表结构+数据
create table + 新表名 select * from + 原表名