MySQL数据库——字符编码、配置文件、存储引擎、数据类型、约束条件

一、字符编码与配置文件

1、查看MySQL相关信息

\s 查看相关信息
	当前用户、版本、编码、端口号
	MySQL5.6及之前的版本,编码需要人为统一,之后的版本已经默认统一
如果想要永久的修改编码配置,需要操作配置文件

2、修改配置文件

2.默认的配置文件是my-default.ini
	拷贝上述文件并重命名为my.ini
    
直接拷贝字符编码相关配置即可无需记忆
	[mysqld]
        character-set-server=utf8mb4
        collation-server=utf8mb4_general_ci
    [client]
        default-character-set=utf8mb4
    [mysql]
        default-character-set=utf8mb4
ps:
    1.utf8mb4能够存储表情 功能更强大
	 2.utf8与utf-8是有区别的 MySQL中只有utf8
 
修改了配置文件中关于[mysqld]的配置 需要重启服务端
	
  
"""
利用配置文件我们可以偷懒
	将管理员登录的账号密码直接写在配置文件中 之后使用mysql登录即可
	[mysql]
		user='root'
		password=123
"""

二、数据库存储引擎

'''
存储引擎
	数据库针对数据采取的多种存取方式

查看常见存储引擎的方式
	show engines;
	
需要了解的四个存储引擎:

	MyISAM
		MySQL5.5之前默认的存储引擎,存取数据速度快,功能少,安全性较低
	
	InnoDB
		MySQL5.5之后默认的存储引擎,支持事务、行锁、外键等操作,存取速度没有MyISAM快,但是安全性更高
	
    Memory
    	基于内存存取数据,仅用于临时表的数据存取
    	
    BlackHole
    	任何写入的数据都会立即丢失

了解不同存储引擎底层文件个数
'''
create database db;
use db;
create table t1(id int) engine=innodb;
create table t2(id int) engine=myisam;
create table t3(id int) engine=memory;
create table t4(id int) engine=blackhole;
'''
1、innodb两个文件
	.frm	表结构
	.idb	表数据(表索引)
2、myisam三个文件
	.frm	表结构
	.MYD	表数据
	.MYI	表索引
3、memory一个文件
	.frm	表结构
4、blackhole一个文件
	.frm	表结构
'''
insert into t1 values(1);
insert into t2 values(1);
insert into t3 values(1);
insert into t4 values(1);

三、创建表的完整语法

'''
create table 表名(
	字段名 字段类型(字节数) 约束条件,
	字段名 字段类型(字节数) 约束条件,
	字段名 字段类型(字节数) 约束条件
);
1、字段名和字段里类型是必须要有的
2、字节数和约束条件是可选的
3、约束条件也可以写多个,空格隔开即可
4、最后一行结尾不能加逗号
'''

四、严格模式

'''
	当我们在使用数据库存储数据的时候,如果数据不符合规范,应该直接报错,而不是擅自修改数据,这样会导致数据的失真(没有实际的意义)
'''
show variables like '%mode%';
1、临时修改	(在当前的客户端有效)
set session
sql_mode='strict_trans_tables';
   在当前的服务器有效
set global
sql_mode='strict_trans_tables';
2、永久修改
	直接修改配置文件

原文地址:http://www.cnblogs.com/HaiMan/p/16922965.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性