1、Mysql数据类型:mysql
一、数值类型:sql
整数类型:使用unsigned修饰时,只取正值,数值不够指定宽度时,在左边补空格数据库
整数类型包括:tinyint,smallint,int等
vim
浮点型: (5,2)总长度和小数点后的长度ide
包括:float,double,decimal(固定长度,不符合长度要求输入不进去)函数
二、字符类型: spa
char: 定长,255个字符,右边用空格补齐,效率高日志
varchar: 可变长,按数据实际大小分配空间,邮箱可用varchar索引
大文本类型:text、blob事务
三、日期时间类型:
日期时间:datetime(8个字节) timestamp(4个字节)
日期: date 0001-01-01~9999-12-31
年份:year 1901-2155 当用两位表示时 :01-69 表示20XX 70-99 表示 19XX
时间:time HH:MM:SS,占用三个字节
四、时间函数
now() :获取调用此函数时的系统日期时间
month() ,date() time() :获取指定的月份,日期,时间
五、枚举类型:爱好,性别,专业
字段名 enum(值1,值2,值3) 单选 可用数字来表示
字段名 set (值1,值2,值3) 多选
六、字段约束条件:限制如何给字段赋值
null(为空) ,not null(非空),default(默认值)
2、Mysql索引
优缺点:占用物理存储空间,减慢写的速度;加快查询的速度
一、普通索引:index
能够有多个索引字段,其值能够重复和空值,在表结构中,其key键的值显示为:mul
建立:create table user( id int(3), index(id)); //建立表时建立
create index id on user1(id); //在已存在的表里建立
删除:drop index id on user1; //在user1表里删除index为id的索引
二、惟一索引:unique index 在键值那栏表示为:UNI
一个表中能够有多个惟一索引,对应字段的值不能重复,当不为空时,限制功能
和主键相同。
建立:create unique index hz_id on s2(hz_id);
删除: drop index hz_id on s2;
3、主键、复合主键,外键
一、主键:primary key 一个表只能有一个主键,其表示为:PRI
对应的字段值不能为空。
建立:alter table 表名 add primary key (字段名);
删除:alter table 表名 drop primary key;
primary key 与 auto_increment连用,字段的值自动增加
在建立主键时,在后面加上 auto_increment,删除主键时,
首先要删除自增属性,也就是先修改字段的属性
二、复合主键:表中多个字段一块儿作主键,要一块儿建立
建立:alter table s1 add primary key(stu_id,name);
删除: alter table s1 drop primary key;
三、外键使用规则:存储引擎是innodb,类型和宽度同样,被参考表:最好是主键
建立:foreign key(A表字段名) references B表名(字段名)
on update cascade(同步更新) on delete cascade;(同步删除)
删除外键:alter table 表名 drop foreign key 约束名;
外键名查询:show create table 表名\G,能够查询
4、Mysql存储引擎
何为存储引擎:负责为数据库执行实际的数据I/O操做,
不一样的存储引擎,其存储数据的方式也不同,
在mysql5.7中,默认的存储引擎是innodb.
一、查看:show create table sys_in; //查看某个表的存储引擎
show engines; //查看数据库支持的和默认的存储引擎
二、修改数据库默认的存储引擎: vim /etc/my.cnf
default-storage-engine=myisam/innodb
三、修改某个存在表的默认引擎:
alter table 表名 engine=innodb;
四、myisam和innodb的区别
myisam:支持表级锁,适合多读少写;.frm(表结构), .MYI(索引), .MYD(数据)
innodb:支持行级锁,适合多写少读,支持外键,支持事务,事务回滚,.frm(表结构).ibd(索引+数据)
五、锁和事务的相关定义
锁类型:读锁(共享锁),写锁(排它锁)
锁粒度:表锁,行锁,页锁(内存)
事务:一次sql操做从链接到断开链接的过程称为事务。要么成功,要么失败
事务日志文件:ib_logfile(sql语句存放位置);ibdata1(数据信息)