字符编码与配置文件
- # 由于5.6版本编码不统一 会造成乱码 我们需要把它统一修改成》:utf8
- 1.MySQL里的my-default.ini是 windows下MySQL默认的配置文件
- 2.拷贝文件并重新命名为my.ini
- 3.添加字符编码相关的配置
- [mysqld]
- character-set-server=utf8
- collation-server=utf8_general_ci
- [client]
- default-character-set=utf8
- [mysql]
- default-character-set=utf8
- ps:由于配置文件涉及到了mysql的配置修改 需要重启服务端才可以生效
复制代码 相关配置:

直接mysql登录:

查看修改之后的配置:

存储引擎
- # 存储引擎就是针对相同的数据采取不同的策略
- 1.MYISAM :
- MySQL5.5之前版本默认的存储引擎
- 特点是:存取数据的速度快 但是功能较少 安全性较低
- 2:INNODB:
- MySQL5.5之后版本默认的存储引擎
- 特点是:存取数据的速度没有myisam快,但是支持事务,行锁,外键等诸多功能 安全性较高
-
- 3:memory:
- 基于内存的存储引擎,存取数据极快,但是断电立刻丢失数据
- 4:blackhole:
- 黑洞,任何写进去的数据都会立刻丢失 类似于垃圾站
- ps:MySQL对于大小写不敏感 可以任意写
复制代码 引擎区别
- # 先创建表 分别用不同的引擎
- create table t1(id int) engine=myisam
- create table t2(id int) engine=innodb
- create table t3(id int) engine=memory
- create table t4(id int) engine=blackhole
- insert into t1 values(1);
- insert into t2 values(2);
- insert into t3 values(3);
- insert into t4 values(4);
- ------------
- myisam .frm 表结构
- .MYD 表数据
- .MYI 表索引(加快数据查询)
- innodb .frm 表结构
- .ibd 表数据,表索引(加快数据查询)
- memory .frm 表结构 (重新启动MySQLt3的数据就没有了)
- blackhole .frm 表结构
复制代码
创建表的完整语法
- create table 表名(
- 字段名1 字段类型(数字) 约束条件,
- 字段名2 字段类型(数字) 约束条件,
- 字段名3 字段类型(数字) 约束条件
- )engine=存储引擎
- 1.字段名和字段类型是必须的(至少写一个)
- 2.数字约束条件是可选的
- 3.约束条件可以写多个 空格隔开即可
- 4.最后一个字段的结尾千万不能加逗号
复制代码 数字的含义
- char(4) 括号里的数字是用来限制数据的长度的
- int(4)整型后面的数字是用来展示数据的长度的
- create table s1(id int(3) zerofill);
- insert into s1 values(1),(12);
- 总结:涉及到整型字段的定义 类型后面不需要加括号加数字 除非有固定业务需求
复制代码
字段类型
整型
- 1.tinyint 1bytes
- 2.smallint 2bytes
- 3.int 4bytes
- 4.bigint 8bytes
- 1.验证整型是否自带负号
- create table a1(id tinyint);
- inster into a1 values(-129),(256);
- 上述所有的整型类型默认都会自带负号
- 2.自定义移除符号
- create table a2(id tinyint unsigned)
- insert into a2 values(-129),(256);
- usigned 是约束条件之一 意思是不需要负号
- ps:由于给MySQL配置了属性sql_mode=STRICT_TRANS_TABLES 以上方法超出范围都无法执行
复制代码 浮点型
[code]1.float 2.double3.decimal# 三者都可以存储浮点型数据 但是各自的精确度不一致float(300,90) # 第一个数表示总共有多少位数 第二位数表示小数占多少位double(300,90)decimal(300,90)验证精确度问题create table a3(id float(255,30));create table a4(id double(255,30));create table a5(id decimal(255,30));insert into a3 values(1.11111111111);insert into a4 values(1.11111111111);insert into a5 values(1.11111111111);总结:float |