首页 > 其他分享 >字符编码与配置文件

字符编码与配置文件

时间:2022-11-23 16:59:13浏览次数:50  
标签:编码 set 配置文件 字符 数据库 character mysql

## 字符编码与配置文件win

```python
1.\s查看MySQL相关信息
当前用户、版本、编码、端口号
MySQL5.6及之前的版本编码需要人为统一 之后的版本已经全部默认统一

如果想要永久修改编码配置 需要操作配置文件
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
"""
```

## 字符编码与配置文件mac

```python
Mac上从官方安装完Mysql5.7后,有一部分的字符集默认为latin1,而非utf8。

接下来看看操作:

打开终端登陆MySQL,如果登陆不了,还需要分别输入这两段shell

1 sudo alias mysql=/usr/local/mysql/bin/mysql
2 sudo alias mysqladmin=/usr/local/mysql/bin/mysqladmin


查看当前字符集编码
show variables like '%char%';

在创建数据库的时候如果不手动设置数据库字符集,则会造成乱码问题,所以设置默认编码为utf-8会方便很多

接下来讲讲操作的步骤:

1、关闭Mysql服务

2、sudo nano /etc/my.cnf
生成一个my.cnf配置文件,执行下面命令,如果已存在则会打开该文件(nano是一种文本编辑器,个人比较喜欢而已,如果要换成vim也行)

3、将下列内容写入文件:

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
4、之后按control+O写入文件然后control+X退出(其实控制台底下有提示)

5、重启数据库服务,登陆数据库再次查看编码

6. 这样就完成了
```

## 数据库存储引擎

```python
储存引擎
数据库针对数据采取的多种存取方法

查看常见储存引擎的方式
show engines;

需要了解的四个存储引擎
MyISAM
mysql5.5之前默认的储存引擎
存取速度快 但功能较少 不支持事务 安全性较低

InnoDB
Mysql5.5之后默认的储存引擎
支持事务 行锁 外键等操作 存取速度没有MyISAM快 但是安全性更高

Memory
基于内容存取数据 仅用于临时表数据的存取

BlackHole
任何写入进去的数据都会立刻丢失

了解不同引擎底层文件个数
create database db2;
use db2;
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 表结构
.ibd 表数据(表索引)
2.myisam三个文件
.frm 表结构
.MYD 表数据
.MYI 表索引
3.memory一个文件
.frm 表结构
4.blackhole一个文件
.frm 表结构
'''
```

## 创建表的完整语法

```python
create table 表名(字段名 字段类型(数字) 约束条件,
字段名 字段类型(数字) 约束条件1 约束条件2)

1.字段名和字段类型是必填的
2.数字和约束条约是选填的
3,约束条件也可以写多个 空格隔开即可
4.最后一行结尾不能加逗号

ps:编写sql语句报错后不要慌 也是要仔细看报错提示

```

## 严格模式

```python
当我们在使用数据库储存数据的时候 如何数据不符合规范 应该直接报错而
不是擅自修改数据,所以正常我们都应该使用严格模式

如何查看当前模式 show variables like '%mode%';

1.临时修改
set session sql_mode='strict_trans_tables';
在当前客户端有效
set global sql_mode='strict_trans_tables';
在当前服务端有效

2.永久修改
直接修改配置文件
```

 

 

 

 

标签:编码,set,配置文件,字符,数据库,character,mysql
From: https://www.cnblogs.com/moongodnnn/p/16918886.html

相关文章