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

时间:2022-11-24
本文章向大家介绍MySQL数据库——字符编码、配置文件、存储引擎、数据类型、约束条件,主要内容包括一、字符编码与配置文件、1、查看MySQL相关信息、2、修改配置文件、二、数据库存储引擎、三、创建表的完整语法、四、严格模式、使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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、永久修改
	直接修改配置文件

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