进入mysql,用户 root
C:\program files\mysql\mysql server 6.0\bin>mysql –u root -p
3.显示数据库
Mysql>show databases;
4.建立数据库my
Mysql>create database my;
5.打开数据库(my)
Mysql>use my
6.创建数据表(depts)
Mysql>create table depts(dept_id int(11),name varchar(20),description varchar(255));
7.在depts数据库表插入记录
Mysql>insert into depts values(1,’人事部’,null),(2,’研发部’,null),(3,’市场部’,null),(4,’培训部’,null);
8.查询显示插入记录
Mysql>select * from depts;
9.退出msyql
Mysql>quit
10.在DOS中进行备份,一下模拟将latin1字符集的数据库修改成GBK字符集的数据库的过程。
C:\program files\mysql\mysql server 6.0\bin>mysqldump –u root –p my>e:\mylatin1.sql
插入数据显示乱码
(1)导出表结构
C:\program files\mysq\mysql server 6.0\bin>mysqldump –u root –p --default-character-set=gbk –d my>e:\my.slq
其中 --default-character-set=gbk表示设置以什么字符集连接,-d 表示只导出表结构,不导出数据。
(2)手工修改my.sql中表结构定义中的字符集为新的字符集
将字符集charset=latin1,修改为charset=gbk
(3)确保记录不再更新,导出所有记录
Mysql>mysqldump –u root –p –quick --no-create-info –extended-insert –default-character-set=latin1 my>e:\mydata.sql
--quick:该选项用于转储大的表。它强制mysqldump从服务器一次一行的检索表中的行而不是检索所有行,并在输出前将它缓存到内存中。
--extended-insert:使用包括几个VALLUES列表的多行INSSERT语法。这样使转储文件更小,重载文件时可以加速插入。
--no-create-info:不写重新创建每个转储表的的create table语句。
--default-character-set=latin1:按照原有的字符集导出所有数据,这样导出的文件中,所有中文都是可见的,不会保存成乱码。
(4)打开mydata.sql,在Dumping data for table ‘depts’后面添加set names ‘gbk’;
点击保存
(5)使用新的字符集创建新的数据库
Mysql>create datebase mygbk2 default charset gbk;
打开数据库(mygbk2)
Mysql>use mygbk2
(6)创建表,执行my.sql
Mysql>source e:\my.sql
或
C:\program files\mysql\mysql server 6.0\bin>mysql –u root –p mygbk2 < e:\my.sql
(7)导入数据,执行mydata.sql
Mysql>source e:\mydata.sql
或
C:\program files\myslq\mysql server 6.0\bin>mysql –u root –p mygbk2 <e:\mydata.sql
C:\program files\mysql\mysql server 6.0\bin>mysqldump –u root –p mygbk2>e:\mygbk2.sql
说明转换成
OK,说明成功!!