数据库
数据库和数据表管理
创建数据库
语句格式 CREATE DATABASE (IF NOT EXISTS)数据库名
-------->CREATE DATABASE IF NOT EXISTS MYSQLDB
(if not exists保证如果数据库存在则不会报错)
显示数据库
语句格式 SHOW CREATE DATABASE 数据库名
-------->SHOW CREATE DATABASE MYSQLDB
删除数据库
语句格式DROP DATABASE 数据库名
-------->DROP DATABASE MYSQLDB
数据表
数据库最近本的逻辑单元,由行和列组成
E-R(Entity-Relationship)实体关系模型
三要素:实体。属性、关系
主键(Primary Key)
为保证每一行记录的唯一性设置主键
特征:
1、主键可以有一个字段也可以有多个字段组成(复合主键)
2、主键不可为空,当主键为复合主键时每一个主键都不可为空
实体间的关系和外键(Foreign Key)
实体间的关系可以用外键来表示
如果一个表(实体)的里字段是另外一个表(实体)的字段,那个这个字段就是这个表的一个外键
约束(Constraint)
为表添加的一种强制规则约束
如果为表添加了约束那么所有SQL操作必须要遵守这个约束否则会失败
NOT NULL 非空约束,约束某列的所有数据都不可为空
UNIQUE 唯一约束,约束某列或者某些列组合数据必须唯一
PRIMARY KEY 主键约束,约束每一条记录的唯一性
FOREIGN KEY 外键约束,在表与表之间建立一种强制依赖关系
CHECK 检查性约束,在列上建立一个必须满足的条件约束
数据表的数值属性
时间属性
数据类型 描述
BIT 位字段类型,取值范围是1~64, 默认为1
TINYINT 很小的整数类型。带符号的范围是-128~127,无符号的范围是0~255
BOOL,BOOLEAN 布尔类型,是TINYINT(1)的同义词。zero值被视为假。非zero值被视为真
SMALLINT 小的整数类型,带符号的范围是-32768~32767。无符号的范围是0~65535
MEDIUMINT 中等大小的整数类型。带符号的范围是-8388608~8388607,无符号的范围是0~16777215
INT 普通大小的整数类型。带符号的范围是-2147483648~2147483647,无符号的范围是0~4294967295
INTEGER 与INT的含义相同
BIGINT 大整数类型,带符号的范围是-9223372036854775808~9223372036854775807。无符号的范围是0~18446744073709551615
FLOAT 单精度浮点类型
DOUBLE 双精度浮点类型
DECIMAL 定点数类型
DEC 与DECIMAL的含义相同
数据类型 描述
DATE 日期类型,例如’2012-01-01’
DATETIME 日期和时间类型,例如’2012-01-01 12:00:00’
TIMESTAMP 时间戳类型,TIMESTAMP列用于INSERT或UPDATE操作时记录日期和时间
TIME 时间类型
YEAR 两位或四位的年份类型,默认为四位年份类型
CHAR(M) 固定长度字符串,M为存储长度
VARCHAR(M) 可变长度的字符串,M为最大存储长度,实际存储长度为输入字符的实际长度
BINARY(M) BINARY类型类似于CHAR类型,但保存二进制字节字符串而不是非二进制字符串。M为存储长度
VARBINARY(M) VARBINARY类型类似于VARCHAR类型,但保存二进制字节字符串而不是非二进制字符串。M为存储长度
BLOB 二进制大对象,包括TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB 等4种BLOB类型
TEXT 大文本类型,包括TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT等4种TEXT类型
ENUM 枚举类型
SET 集合类型
复制表
复制一个表的语句格式:
1、like:Create table 新表名 like 原表名
2、select * from: create table 新表名 select * from 原表
删除表
删除一个表的语句格式:
Drop table 表名
通过Alter table对表的列进行增加,修改删除
(设置表的一列的默认值default(‘默认值’))
Alter table 表名 add 列名 数据类型和长度 列属性
---->使用ALTER TABLE语句在表Emp中增加一列,列名为Tele,数据类型为varchar,长度为50,列属性为允许空,具体语句如下:
Alter table emp add Tele varchar(50)null
Alter table 表名 modify 列名 新的数据类型和长度 新的列属性
---->使用ALTER TABLE语句在表Emp中修改Tele列的属性,将数据类型为CHAR,长度为50,列属性为允许空。具体语句如下:
Alter table emp modify Tele char(50)null
Alter table 表名 drop column列名
---->使用ALTER TABLE语句在表Emp中删除Tele列。具体语句如下:
Alter table emp drop column Tele
修改约束条件
添加约束条件格式:
Alter table 表名 add constraint 约束名 约束类型(字段名)
—>alter table class add constraint name_unique unique(name)
删除约束条件
删除主键约束
Alter table 表名 drop primary key
删除外键约束(注意指明外键约束名)
Alter table 表名 drop foreign key 约束名
删除字段唯一约束(删除唯一性约束实际上就是删除唯一索引)
Alter table 表名 drop index 索引名
—>alter table class drop index name_unique