~查看当前数据库服务器中的所有数据库 show databases;
~查看前面创建的mydb2数据库的定义信息show create database mydb2;
~查看服务器中的数据库,并把其中某一个库的字符集修改为gbk;
alter database mydb3 character set gbk;
~创建一个员工表employee
create table employee (
id int primary key auto_increment,
name varchar(20) unique,
gender char(1) not null,
birthday date,
entry_date date,
job varchar(255),
salary double,
resume text
);
主键约束 primary key auto_increment
唯一约束 unique
非空约束 not null
外键约束
primary key=unique+not null
查看表的建表语句:show create table tab_name;
~列名name修改为username
alter table user change name username varchar(30);
~向员工信息表中插入三条记录
insert into employee (id,name,gender,birthday,entry_date,job,salary,resume)
values (null,'张飞','m','1999-09-09','1999-10-01','打手',998.0,'老总的三弟,富二代出身');
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
一个客户端可以使用set names xxx;方式通知服务器当前客户端是以什么编码发送数据的,服务器就会以这个编码来解析数据,就不会乱码了。
也可以在my.ini文件中修改字符集编码,设置服务器认为客户端的默认编码
1mysql 在cmd命令窗口中文乱码[只要没有乱码就可以]
* 查看编码:mysql> show variables like '%char%' ;
* 查询结果1:使用的命令窗口编码,必须与下面三个选项的编码一致
| character_set_client | mysql服务器端设置的客户端编码
| character_set_connection | mysql服务器端设置的链接编码
| character_set_results | mysql服务器端设置的返回结果的编码
* 查询结果2:数据库必须支持中文
| character_set_database | latin1 数据库只能存放ISO8859-1,就不支持中文
* 情况1:安装时将编码设置UTF8
* 解决办法:mysql> set names GBK; # 修改了查询结果1的内容
* 情况2:安装时,使用默认为:latin1 ISO8859-1
* 设置客户端等编码:mysql > set names GBK; # 修改查询结果1的内容
* 创建的数据使用的编码为mysql安装的编码,在创建数据时指定编码
* mysql > create database 数据库 character set 字符集; # 修改了查询结果2的内容
* 注意:表的编码默认使用的数据库的编码
* 情况3:绿化版,没有设置编码
* my-small.ini 复制一份,然后将文件名称修改成 my.ini
* 创建数据时指定编码 # 修改了查询结果2的内容
* 可以查看表的sql语句,以及表的默认编码
mysql> show create table 表名;
* 如果默认编码为latin1。修改my.ini文件
* [mysql] default-character-set=utf8
* [mysqld] character-set-server=utf8