

MySql中数据类型:
数值型:
整数类型:int
小数类型:decimal
小数格式:decimal(总长度,小数位)
decimal(5,2) 要求你传递过来的数据总长度是5位,小数位是2位
日期和时间类型

字符串类型

char(字符串的长度) 定长
varchar(字符串的长度) 变长
姓名 char(10) tom--->3 10个字符-3=7个字符的空间 剩余的空间不会释放,系统会用空格填充满
varchar(10) tom--->3 还剩下7个字符空间,给释放出来
创建表语法格式:
create table 表名(
列名1 数据类型,
列名2 数据类型,
列名3 数据类型,
列名4 数据类型,
);


删除表
格式:drop table 表名;
删除多张表:drop table 表名1,表名2...
修改表结构
添加列(属性):
alter table 表名 add 属性名 数据类型:
删除列(属性):
alter table 表名 drop 属性名;
修改i列的数据类型:
alter table 表名 modify 列名 新的数据类型
修改列名(字段):
alter table 表名 change 旧列名 新列名 数据类型;
显示表结构
desc 表名
数据的完整性:指的是数据库中数据的准确性和可靠性
实体完整性约束:
目的:在表中至少有一个唯一的标识,主属性字段中,不能为空,不能重复
主键(primary key)约束:唯一,不重复,不能为空 一个表中有且只有一个主键约束
创建表的同时创建主键约束
格式一:
create table 表名(
列名1 数据类型 primary key,
列名2 数据类型
);
格式二:主键约束名字的写法:PK_列名
create table 表名(
列名1 数据类型,
列名2 数据类型,
constraint 主键约束的名字 primary key(列名1)
);
格式三:
create table 表名(
列名1 数据类型,
列名2 数据类型,
primarily key(列名1)
);
针对已经存在的表,添加主键约束
格式一:
alter table 表名 modify 列名 数据类型 primary key;
格式二:
alter table 表名 add primary key(列名):
格式三:
alter table 表名 add constraint 主键约束的名字 primary key(列名)
删除主键约束
格式:alter table 表名 drop primary key;
联合主键:指的是把两个列看成是一个整体,这个整体是不为空、唯一、不重复
创建表的同时创建联合主键
格式二:主键约束名字的写法:PK_列名
create table 表名(
列名1 数据类型,
列名2 数据类型,
constraint 主键约束的名字 primary key(列名1,列名2)
);
格式三:
create table 表名(
列名1 数据类型,
列名2 数据类型,
primarily key(列名1,列名2)
);
针对已经存在表,添加联合主键
alter table 表名 add constraint 主键约束的名字 primary key(列名1,列名2)
唯一约束 unique
特征:
不允许有重复的值,保证数据的唯一性
可以有空值
在一个表中,可以有多个唯一约束
默认情况下,唯一约束的名字和列名保持一致
添加唯一约束的列,系统也会默认给这个列添加一个唯一索引
索引:等同于书本的目录,将来能够加跨数据的查询速度
创建表的同时创建唯一约束
格式一:
create table 表名(
列名1 数据类型,
列名2 数据类型,
constraint 唯一约束的名字 unique(列名1)
);
格式二:
create table 表名(
列名1 数据类型 unique,
列名2 数据类型 unique,
列名3 数据类型
);
针对已经存在的表,添加唯一约束
格式:alter table 表名 add unique(列名);
删除唯一约束
格式:alter table 表名 drop index 唯一约束的名字
域完整性约束:保证在表中不会输入无效的数据
默认约束 default 当默认约束来修饰某个列的时候,修饰的列即使不写数据也会默认一个值的
创建表的同时创建默认约束
格式:create table 表名(
列名1 数据类型 default '字符串类型或者日期类型的默认值',
列名2 数据类型 default 数值,
列名3 数据类型
);
针对已经存在的表,添加默认约束
格式:alter table 表名 modify 列名 数据类型 default '值'
删除默认约束
格式:alter table 表名 modify 列名 数据类型;
非空约束 not null 当前列是必须有值
在创建表的同时创建非空约束
格式:create table 表名(
列名1 数据类型 not null,
列名2 数据类型 not null,
列名3 数据类型
);
针对已经存在的表,添加非空约束
格式:alter table 表名 modify 列名 数据类型 not null;
参照完整性 foreign key
创建表的同时创建外键约束
主表(接下来再建新表的时候,要参照的表)
create table 表1(
列名1 数据类型 primary key,
列名2 数据类型,
);
从表(外键约束所在表)
create table 表2(
列名1 数据类型,
列名2 数据类型,
constraint 外键约束的名字 foreign key(从表的列名1) references 主表表名1(列名10
);
注意:关于引用的列是要求:从表的列和主表的列,列名可以不一样,但是,这两个列的数据类型和内容必须保持一致
针对已经存在的表,添加外键约束
格式:alter table 从表 add constraint 外键约束的名字 foreign key(从表表名1) references 主表表名(主表列名)
删除外键约束
格式:alter table 表名 drop foreign key 外键约束的名字