![mysql_不能插入中文的解决办法_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-11/26/4bf01477-66af-4bea-9d39-2c0f81cac555/4bf01477-66af-4bea-9d39-2c0f81cac5551.gif)
![mysql_不能插入中文的解决办法_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-11/26/4bf01477-66af-4bea-9d39-2c0f81cac555/4bf01477-66af-4bea-9d39-2c0f81cac5552.gif)
![mysql_不能插入中文的解决办法_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-11/26/4bf01477-66af-4bea-9d39-2c0f81cac555/4bf01477-66af-4bea-9d39-2c0f81cac5553.gif)
![mysql_不能插入中文的解决办法_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-11/26/4bf01477-66af-4bea-9d39-2c0f81cac555/4bf01477-66af-4bea-9d39-2c0f81cac5554.gif)
![mysql_不能插入中文的解决办法_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-11/26/4bf01477-66af-4bea-9d39-2c0f81cac555/4bf01477-66af-4bea-9d39-2c0f81cac5555.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、mysql 不能插入中文的解决办法,修改 mysql 的字符集,操作见蓝色字体部分收藏一 . 安装与配置 mysql 二 . 常用 mysql 命令行命令1 .mysql 的启动与停止启动 mysql 服务 net start mysql 停止 mysql 服务 net stop mysql 2 . netstat na | findstr 3306 查看被监听的端口, findstr 用于查找后面的端口是否存在3 . 在命令行中登陆 mysql 控制台 , 即使用 mysql commend line tool 语法格式mysql user=root password=123456 db_n
2、ame 或 mysql uroot p123456 db_name 4 . 进入 mysql 命令行工具后, 使用 status; 或s 查看运行环境信息5 . 切换连接数据库的语法: use new_dbname; 6 . 显示所有数据库: show databases; 7 . 显示数据库中的所有表: show tables; 8 . 显示某个表创建时的全部信息: show create table table_name; 9 . 查看表的具体属性信息及表中各字段的描述describe table_name; 缩写形式: desc table_name; 三 。 mysql 中的 sql
3、语句1 . 数据库创建: create database db_name; 数据库删除: drop database db_name; 删除时可先判断是否存在,写成: drop database if exits db_name 2 . 建表 : 创建数据表的语法: create table table_name ( 字段 1 数据类型, 字段2 数据类型 ); 例 : create table mytable (id int , username char(20); 删表 : drop table table_name; 例 : drop table mytable; 8 . 添加数据: i
4、nsert into 表名 (字段 1 , 字段 2 , .) values (值 1 , 值 2 , .); 如果向表中的每个字段都插入一个值,那么前面 括号内字段名可写也可不写例 : insert into mytable (id,username) values (1,zhangsan);9 . 查询 : 查询所有数据: select * from table_name; 查询指定字段的数据: select 字段 1 , 字段 2 from table_name; 例 : select id,username from mytable where id=1 order by desc;多
5、表查询语句- 参照第 17条实例10 . 更新指定数据, 更新某一个字段的数据(注意,不是更新字段的名字)update table_name set 字段名 = 新值 , 字段 2 = 新值 , .where id=id_num order by 字段 顺序 例 : update mytable set username=lisi where id=1;order 语句是查询的顺序, 如 : order by id desc( 或 asc) , 顺序有两种: desc倒序(1001,即从最新数据往后查询 ),asc(从 1-100),where 和 order 语句也可用于查询 select
6、与删除 delete 11 . 删除表中的信息: 删除整个表中的信息: delete from table_name; 删除表中指定条件的语句: delete from table_name where 条件语句; 条件语句如 : id=3; 12 . 创建数据库用户一次可以创建多个数据库用户如:create user username1 identified by password , username2 identified by password .13 . 用户的权限控制: grant 库,表级的权限控制: 将某个库中的某个表的控制权赋予某个用户grant all on db_name
7、.table_name to user_name indentified by password ;14 . 表结构的修改(1)增加一个字段格式:alter table table_name add column ( 字段名 字段类型 ); -此方法带括号(2)指定字段插入的位置:alter table table_name add column 字段名 字段类型 after 某字段;删除一个字段:alter table table_name drop 字段名 ; (3)修改字段名称 /类型alter table table_name change 旧字段名 新字段名新字段的类型 ; (4)改
8、表的名字alter table table_name rename to new_table_name; (5)一次性清空表中的所有数据truncate table table_name; 此方法也会使表中的取号器(id)从 1 开始15 . 增加主键,外键,约束,索引。 。 。 。(使用方法见 17 实例) 约束(主键 primary key、唯一性 unique、非空 not null ) 自动增张auto_increment 外键 foreign key-与 reference table_name(col_name列名)配合使用,建表时单独使用 删除多个表中有关联的数据-设置 fore
9、ign key 为 set null -具体设置参考帮助文档16 . 查看数据库当前引擎show create table table_name; 修改数据库引擎alter table table_name engine=myisam | innodb; 17 . sql语句运用实例 : -1 建 users表create table users (id int primary key auto_increment,nikename varchar(20) not null unique,password varchar(100) not null,address varchar(200),
10、reg_date timestamp not null default current_timestamp); -2 建 articles表,在建表时设置外键create table articles (id int primary key auto_increment,content longtext not null,userid int,constraint foreign key (userid) references users(id) on delete set null); - -2.1 建 articles 表,建表时不设置外键create table articles (id
11、 int primary key auto_increment,content longtext not null,userid int); -2.2 给 articles 表设置外键alter table articles add constraint foreign key (userid) references users(id) on delete set null; - -3. 向 users表中插入数据 ,同时插入多条insert into users (id,nikename,password,address) values (1,lyh1,1234,null),(10,lyh2
12、2,4321,湖北武汉 ),(null,lyh333,5678,北京海淀 ); -4. 向 article 中插入三条数据insert into articles (id,content,userid) values (2,hahahahahaha,11),(null,xixixixixix,10),(13,aiaiaiaiaiaiaiaiaiaiaiaia,1),(14,hohoahaoaoooooooooo,10); -5. 进行多表查询,选择users表中 id=10 的用户发布的所有留言及该用户的所有信息select articles.id,articles.content,users
13、.* from users,articles where users.id=10 and articles.userid=users.id order by articles.id desc; -6. 查看数据库引擎类型show create table users; -7. 修改数据库引擎类型alter table users engine=myisam; - 因为 users表中 id 被设置成外键,执行此句会出错-8. 同表查询 ,已知一个条件的情况下.查询 id 号大于用户 lyh1 的 id 号的所有用户select a.id,a.nikename,a.address from us
14、ers a,users b where b.nikename=lyh1 and a.idb.id; -也可写成select id,nikename,address from users where id(select id from users where nikename=lyh1); 9. 显示年龄比领导还大的员工:select from users a,users b where a.managerid=b.id and a.ageb.age; 查询编号为 2 的发帖人 : 先查 articles 表,得到发帖人的编号 ,再根据编号查users得到的用户名。接着用关联查询
15、. select * from articles,users得到笛卡儿积 ,再加 order by articles.id以便观察使用 select * from articles,users where articles.id=2 筛选出 2 号帖子与每个用户的组合记录再使用 select * from articles,users where articles.id=2 and articles.userid=users.id 选出 users.id等于 2 号帖的发帖人 id 的记录 . 只取用户名 :select user where user.id=(select userid fr
16、om articles where article.id =2) 找出年龄比小王还大的人:假设小王是 28 岁,先想找出年龄大于28 的人select * from users where age(select age from users where name=xiaowang); * 要查询的记录需要参照表里面的其他记录: select from users a,users b where =xiaowang and a.ageb.age 表里的每个用户都想pk 一下.select a.nickname,b.nickname from users a,users
17、b where a.idb.id ; 更保险的语句 :select a.nickname,b.nickname from (select * from users order by id) a,(se lect * from users order by id) b where a.idb.id ; 再查询某个人发的所有帖子. select b.* from articles a , articles b where a.id=2 and a.userid=b.userid 说明: 表之间存在着关系, er 概念的解释,用access中的示例数据库演示表之间的关系 .只有 innodb 引擎才
18、支持 foreign key,mysql 的任何引擎目前都不支持check约束。四、字符集出现错误解决办法出现的问题:mysql update users - set username= 关羽 - where userid=2; error 1366 (hy000): incorrect string value: xb9xd8xd3xf0 for column usern ame at row 1 向表中插入中文字符时,出现错误。mysql select * from users; +-+-+ | userid | username | +-+-+ | 2 | ? | | 3 | ? | |
19、 4 | ? | +-+-+ 3 rows in set (0.00 sec) 表中的中文字符位乱码。解决办法:使用命令:mysql status; - mysql ver 14.12 distrib 5.0.45, for win32 (ia32) connection id: 8 current database: test current user: rootlocalhost ssl: not in use using delimiter: ; server version: 5.0.45-community-nt mysql community edition (gpl) proto
20、col version: 10 connection: localhost via tcp/ip server characterset: latin1 db characterset: latin1 client characterset: gbk conn. characterset: gbk tcp port: 3306 uptime: 7 hours 39 min 19 sec threads: 2 questions: 174 slow queries: 0 opens: 57 flush tables: 1 open ta bles: 1 queries per second av
21、g: 0.006 - 查看 mysql 发现 server characterset ,db characterset的字符集设成了latin1,所以出现中文乱码。mysql show tables; +-+ | tables_in_test | +-+ | users | +-+ 1 row in set (0.00 sec) 更改表的字符集。mysql alter table users character set gbk; query ok, 3 rows affected (0.08 sec) records: 3 duplicates: 0 warnings: 0 查看表的结构:my
22、sql show create users; error 1064 (42000): you have an error in your sql syntax; check the manual that corresponds to your mysql server version for the right syntax to use near users at line 1 mysql show create table users; +-+- -+ | table | create table | +-+- -+ | users | create table users ( user
23、id int(11) default null, username char(20) character set latin1 default null ) engine=innodb default charset=gbk | +-+- -+ 1 row in set (0.00 sec) mysql desc users; +-+-+-+-+-+-+ | field | type | null | key | default | extra | +-+-+-+-+-+-+ | userid | int(11) | yes | | null | | | username | char(20)
24、 | yes | | null | | +-+-+-+-+-+-+ 2 rows in set (0.02 sec) 这时向表中插入中文然后有错误。mysql insert into users values(88, 中文); error 1366 (hy000): incorrect string value: xd6xd0 xcexc4 for column usern ame at row 1 mysql insert into users values(88, 中文); error 1366 (hy000): incorrect string value: xd6xd0 xcexc4
25、for column usern ame at row 1 还要更改 users表的 username的字符集。mysql alter table users modify username char(20) character set gbk; error 1366 (hy000): incorrect string value: xc0 xeexcbxc4 for column usern ame at row 1 mysql alter table users modify username char(20) character set gbk; error 1366 (hy000):
26、incorrect string value: xc0 xeexcbxc4 for column usern ame at row 1 因为表中已经有数据,所以更改username字符集的操作没有成 * 清空 users表中的数据mysql truncate table users; query ok, 3 rows affected (0.01 sec) 从新更改 user表中 username的字符集mysql alter table users modify username char(20) character set gbk; query ok, 0 rows affected (0
27、.06 sec) records: 0 duplicates: 0 warnings: 0 这时再插入中文字符,插入成* 。mysql insert into users values(88, 中文); query ok, 1 row affected (0.01 sec) mysql select * from users; +-+-+ | userid | username | +-+-+ | 88 | 中文 | +-+-+ 1 row in set (0.00 sec) mysql 本文来自csdn博客,转载请标明出处:http:/ mydb mysqlalter database my
28、db character set utf8; 创建数据库指定数据库的字符集mysqlcreate database mydb character set utf8; 通过 mysql 命令行修改 :mysql set character_set_client=utf8; query ok, 0 rows affected (0.00 sec)mysql set character_set_connection=gbk; query ok, 0 rows affected (0.00 sec)mysql set character_set_database=gbk; query ok, 0 ro
29、ws affected (0.00 sec)mysql set character_set_results=gbk; query ok, 0 rows affected (0.00 sec)mysql set character_set_server=gbk; query ok, 0 rows affected (0.00 sec)mysql set character_set_system=gbk; query ok, 0 rows affected (0.01 sec)mysql set collation_connection=gbk; query ok, 0 rows affected (0.01 sec)mysql set collation_database=gbk; query ok, 0 rows affected (0.01 sec)mysql set collation_server=gbk; query ok, 0 rows affected (0.01 sec)查看: mysql show variables like character_set_%; +-+-+ | variable_name | value | +-+-+ | character_set
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年仓储场地续租合同样本
- 2025年市场扩张战略策划咨询协议
- 市场调研与分析服务框架协议
- 2025年饮料酒项目规划申请报告模范
- 2025年中药材市场分析与采购服务合同
- 2025年涤纶短纤项目规划申请报告模范
- 2025年鼻毛修剪器项目规划申请报告模稿
- 2025年上海轿车交易协议书
- 2025年面料资源整合策划供货协议
- 2025年城市现代化改造居民拆迁安置协议
- 医院感染的中心静脉导管相关血流感染预防
- 2025版茅台酒出口业务代理及销售合同模板4篇
- 新版《医疗器械经营质量管理规范》(2024)培训试题及答案
- 2025年人教版数学五年级下册教学计划(含进度表)
- 2025年初级社会工作者综合能力全国考试题库(含答案)
- 复工复产安全培训考试题
- 手术风险及医疗意外险告知流程
- 综合实践活动六年级下册 饮料与健康课件 (共16张PPT)
- 《医院重点专科建设专项资金管理办法》
- 最新短视频运营绩效考核表KPI(优选.)
- 设备基础隔振设计探讨
评论
0/150
提交评论