数据操作
对数据表里保存的数据进行增删改查操作
C:新增数据
语句:insert into 表名 [(字段列表)] values (值列表)
1.如果没有字段列表,值列表的数量必须跟表字段数目完全一致,顺序要完全对应
2.如果有字段列表,那么字段列表与值列表的字段数据必须完全一致,顺序要完全对应
3.如果使用字段列表,该字段列表可以不与数据表的字段列表顺序一致
错误1:字段类型与值类型不匹配
错误2:待插入的字段列表与当前插入的值列表的数量不匹配
R:查询数据
语法:select [字段列表] from 表名 [where条件]
1.查询所有数据
2.查询指定字段
3.查询指定条件数据
U:更新数据
语法:update 表名 set 字段 = 值 [where条件]
多字段修改
D:删除数据
语法:delete from 表名 [where条件]
注意:通常update和delete都必须匹配where条件,否则不允许操作,因为更新和删除都是永久性的,不可逆的。
中文数据插入
Windows下,命令行模式里,只识别 gbk 编码,而且该编码不可以改变
要保证 Mysql .exe在控制台可以输入中文并且让服务端识别的话,有一个快捷方式
Set names gbk; //告诉服务器,客户端给服务器传递数据是gbk编码的
查看mysql支持的字符集
语法:show character set;
一共支持39种字符集,除了这39种之外,其他的字符集就不能支持。
查看mysql服务器对外设置的默认的字符集
语法:
show variables like ‘character_set%’;
1.保证服务器端能够识别客户端的数据,只需要修改character_set_client = gbk;
Set character_set_client = gbk;
2.就可以使用gbk编码的数据传输给服务器
3.修改结果集的字符集
4.Mysql.exe就可以解析数据
客户端与服务端进行不同字符集编码数据通信的原理
Set names gbk做了什么事情?
数据库数据存储的最终编码?
1. DBMS :安装数据库时指定编码
2.DB:创建数据库时指定
3.Table:创建表时指定
4.Field:创建字段的时候指定
最终数据的存储编码,受最近的字符集影响,如果没有强制指定,那么顺序依次是:字段à表à数据库àDBMS
注意:
1只要用户设定好了,客户端的编码(character_set_client,character_set_results),不管数据库最终存储数据是按照什么字符集,都不会出现乱码。
2字符集的最终设定受当前代码所在的环境影响,代码在控制台,就只能是gbk,代码在文件里,跟文件的编码是一致的。
关联文章:
重蔚php学习第三十天——Mysql基础知识和应用
重蔚php学习第三十天——SQL基本操作包括:库操作,表操作