From e22d21d3b799078670f907d12482242aaeac4c9a Mon Sep 17 00:00:00 2001 From: pengshiyu <1940607002@qq.com> Date: Thu, 17 Mar 2022 22:45:46 +0800 Subject: [PATCH] fix --- blog/php-mysql/character.md | 69 ++++++++++++++++++++ blog/php-mysql/index.md | 8 ++- blog/php-mysql/sql-data.md | 124 ++++++++++++++++++++++++++++++++++++ blog/php-mysql/sql-table.md | 3 - 4 files changed, 199 insertions(+), 5 deletions(-) create mode 100644 blog/php-mysql/character.md create mode 100644 blog/php-mysql/sql-data.md diff --git a/blog/php-mysql/character.md b/blog/php-mysql/character.md new file mode 100644 index 0000000..72f3501 --- /dev/null +++ b/blog/php-mysql/character.md @@ -0,0 +1,69 @@ +# 字符集 character + +- 字符 character 是各种文字和符号的总称 +- 字符编码 character code 是计算机针对各种符号,在计算机中的一种二进制存储代号 +- 字符集 character set 是多个字符的集合 + +常见的字符集 + +- ASCII 字符集 +- GB2312 字符集 +- Unicode 字符集 + +# 设置客户端字符集 + +```sql +-- 设置客户端字符集编码 +set names gbk; + +-- 查看字符集编码设置 +show variables like 'character_set_%'; ++--------------------------+------------+ +| Variable_name | Value | ++---------+-----------------------------+ +| character_set_client | gbk | +| character_set_connection | gbk | +| character_set_database | utf8mb4 | +| character_set_filesystem | binary | +| character_set_results | gbk | +| character_set_server | utf8mb4 | +| character_set_system | utf8 | +| character_sets_dir | /usr/local/Cellar/mysql/8.0.16/share/mysql/charsets/ | ++--------------------------+------------+ + +-- 插入中文字符 +insert into tb_teacher (name, age) values ('张三', 23); +``` + +MySQL 与 MySQLd 之间有三层 + +- 客户端传入数据给服务端 client +- 服务端返回数据给客户端 server +- 客户端与服务端之间的连接 collection + +变量 + +- character_set_client 客户端 +- character_set_connection 连接层 +- character_set_database 数据库 +- character_set_results 结果集 + +修改变量 + +```sql +set 变量名 = 值; + +-- 修改单个变量 +set character_set_client = gbk; + +-- 设置字符集 +set names gbk; + +-- 等价于 +set character_set_client = gbk; // 让服务器识别客户端传过去的数据 +set character_set_connection = gbk; // 更好的帮助客户端与服务器端之间惊醒字符集转换 +set character_set_results = gbk; // 告诉客户端服务器返回的数据 +``` + + +https://www.bilibili.com/video/BV1Vx411g7uJ?p=15&spm_id_from=pageDriver \ No newline at end of file diff --git a/blog/php-mysql/index.md b/blog/php-mysql/index.md index 34aa6cc..013893a 100644 --- a/blog/php-mysql/index.md +++ b/blog/php-mysql/index.md @@ -6,6 +6,10 @@ [MySQL简介](blog/php-mysql/mysql-basic.md) -[数据库基本操作](blog/php-mysql/sql-database.md) +[数据库database 基本操作](blog/php-mysql/sql-database.md) -[数据表基本操作](blog/php-mysql/sql-table.md) +[数据表table 基本操作](blog/php-mysql/sql-table.md) + +[数据data 基本操作](blog/php-mysql/sql-data.md) + +[字符集character](blog/php-mysql/character.md) diff --git a/blog/php-mysql/sql-data.md b/blog/php-mysql/sql-data.md new file mode 100644 index 0000000..64c6359 --- /dev/null +++ b/blog/php-mysql/sql-data.md @@ -0,0 +1,124 @@ +# 数据操作 + +## 插入操作 + +```sql +-- 方式一:插入指定字段数据(推荐使用) +insert into 表名 [(字段列表)] values (对应列数据); + +-- 方式二:插入所有字段对应的数据 +insert into 表名 values (对应列数据); +``` + +示例 + +```sql +create table tb_teacher( + name varchar(10), + age int +); + +-- 插入一条数据 +insert into tb_teacher (name, age) values ('Jack', 24); + +-- 字段名和值需要一一对应 +insert into tb_teacher (age, name) values (25, 'Tom'); + +-- 可以只插入部分字段数据 +insert into tb_teacher (name) values ('Steve'); + +-- 插入全部字段对应的数据,此时值列表需要对应表结构 +insert into tb_teacher values ('Jery', 23); +``` + +## 查询操作 + +```sql +-- 查询表中全部字段数据 +select * from 表名; + +-- 查询表中部分字段数据 +select 字段列表 from 表名; + +-- 简单条件查询数据 +select 字段列表/* from 表名 where 字段名 = 值; +``` + +示例 + +```sql +-- 查询所有数据 +select * from tb_teacher; ++-------+------+ +| name | age | ++-------+------+ +| Jack | 24 | +| Tom | 25 | +| Steve | NULL | +| Jery | 23 | ++-------+------+ + +-- 指定字段 +select name from tb_teacher; ++-------+ +| name | ++-------+ +| Jack | +| Tom | +| Steve | +| Jery | ++-------+ + +-- 限制条件, 年龄==23 +select name from tb_teacher where age = 23; ++------+ +| name | ++------+ +| Jery | ++------+ +``` + +## 删除操作 + +```sql +-- 如果没有条件,会删除所有数据 +delete from 表名 [where 条件]; +``` + +```sql +-- 删除年龄为23的数据 +delete from tb_teacher where age = 23; + +select * from tb_teacher; ++-------+------+ +| name | age | ++-------+------+ +| Jack | 24 | +| Tom | 25 | +| Steve | NULL | ++-------+------+ +``` + +## 更新操作 + +```sql +-- 如果没有where条件,将会更新表中所有的值 +update 表名 set 字段名 = 新值 [where 条件]; +``` + +示例 + +```sql +-- 更新Tom的年龄为26 +update tb_teacher set age = 26 where name = 'Tom'; + +select * from tb_teacher; ++-------+------+ +| name | age | ++-------+------+ +| Jack | 24 | +| Tom | 26 | +| Steve | NULL | ++-------+------+ +``` + diff --git a/blog/php-mysql/sql-table.md b/blog/php-mysql/sql-table.md index 4684e92..def1aca 100644 --- a/blog/php-mysql/sql-table.md +++ b/blog/php-mysql/sql-table.md @@ -305,6 +305,3 @@ mysql> show tables; | t_author | +----------------------+ ``` - - -https://www.bilibili.com/video/BV1Vx411g7uJ?p=11&spm_id_from=pageDriver \ No newline at end of file -- GitLab