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

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

时间:2022-11-24 19:37:31浏览次数:48  
标签:约束条件 编码 存储 配置文件 create 数据类型 引擎 MySQL

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

标签:约束条件,编码,存储,配置文件,create,数据类型,引擎,MySQL
From: https://www.cnblogs.com/HaiMan/p/16922965.html

相关文章

  • MySQL字段约束条件
    今日内容概要主题:字段约束条件无符号、零填充非空默认值唯一值主键自增外键今日内容详细无符号、零填充unsigned#取消正负号 idintunsignedzerof......
  • MySQL安装与配置
    一、下载,官网http://www.mysql.com1.  往下划找到: 2. 3.     4.   二、安装1.   2.   3.   4.在上一步的4处点击......
  • MySQL 3 字段约束条件
    今日内容详细字段约束条件无符号、零填充unsigned idintunsignedzerofill idint(5)zerofill非空createtablet1( idint, namevarchar(16));insertint......
  • MySQL数据库——字段约束条件
    MySQL数据库——字段约束条件一、无符号、零填充1、unsigned(无符号) idintunsigned2、zerofill idint(5)zerofill二、非空'''设置非空notnull所有字段类......
  • mysql忘记密码(Navicat)
    Navicat已经成功连接,密码忘记的解决方法。本文属于转载,转载地址:https://blog.csdn.net/zcxbd/article/details/122876238背景:Windows环境办法:通过注册表查找......
  • mysql update set where用法
    UPDATEuser_base_infouiSETavatar=(SELECTimgurlFROMalbumaWHEREa.userId=ui.userIdANDa.iscoverImg=1)......
  • mysql批量select插入
    基本用法如下INSERTINTOsg_questions_category(qid,categoryId)SELECTqid,6FROM`sg_questions`MySQL当记录不存在时插入(insertifnotexists)有两种方法:示例一:插入多......
  • python之路35 MySQL 3 字段的约束条件
    字段约束条件无符号、零填充unsignedidintunsignedzerofillidint(5)zerofill非空createtablet1(idint,namevarchar(16));insert......
  • mysql升序排列id为0的在最后
    在实际开发中有时会有升序排列id为0的在最后的需求,这里我记录了一种在stackoverflow中比较简单的方法如下:Youmaywanttotrythefollowing:SELECT*FROMyour_tableOR......
  • 解决mysql的in条件中参数是带引号的字符串的时候查询失效
    在开发中有时会使用到in查询,并且里面的参数又是数据库中的一个字段,比如如下错误的例子SELECT`ag`.`id`,`ag`.`rules`,(SELECTGROUP_CONCA......