关闭server:mysqladmin -u root shutdown
启动server:mysqld --console
启动server:mysqld-nt --default-character-set=gbk --console
应用在往mysql写中文字符时,总是乱码,是什么问题呢?
mysqld --default-character-set=gb2312 --console
启动的server支持gb2312,但是以前建立的数据库不支持gb2312,需要重新创建数据库
连接数据库:mysql -h host -u user -p
连接数据库支持中文:mysql --default-character-set=gbk -u root -p
连接制定数据库:mysql -h host -u user -p menagerie;
显示所有的数据库:SHOW DATABASES;
显示当前正在使用的数据库:SELECT DATABASE();
显示数据库创建时信息: SHOW CREATE DATABASE lian/G
使用某数据库:USE test;
创建数据库:CREATE DATABASE menagerie;
创建制定字符集的数据库:
CREATE DATABASE db_name
[[DEFAULT] CHARACTER SET charset_name]
[[DEFAULT] COLLATE collation_name]
ALTER DATABASE db_name
[[DEFAULT] CHARACTER SET charset_name]
[[DEFAULT] COLLATE collation_name]
Example:
CREATE DATABASE db_name DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
删除数据库:drop databse menagerie;
创建表:CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20), species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
创建支持事务的表:CREATE TABLES TBL_TEST
(
...
...
...
...
)TYPE=INNODB
创建带有索引的表
create table ROLE_USER_MAP (
ROLEID VARCHAR(50) not null,
USERID VARCHAR(50),
DESCR VARCHAR(100),
INDEX(ROLEID)
)TYPE=INNODB
创建制定字符集的表:
CREATE TABLE tbl_name (column_list)
[DEFAULT CHARACTER SET charset_name [COLLATE collation_name]]
ALTER TABLE tbl_name
[DEFAULT CHARACTER SET charset_name] [COLLATE collation_name]
Example:
CREATE TABLE t1 ( ... )
DEFAULT CHARACTER SET latin1 COLLATE latin1_danish_ci;
ALTER TABLE user_info MODIFY id varchar(50) character set gbk NOT NULL;
删除表:drop table ROLE_USER_MAP;
#执行文件sql,database.sql存放在mysql/bin目录下
mysql> /. database.sql
显示数据库表:SHOW TABLES;
显示数据库表创建信息:SHOW CREATE TABLE lian
显示表的信息:des
显示mysql变量
show variables;
show variables like 'have_%';
SHOW CHARACTER SET
SHOW COLLATION
SHOW CREATE DATABASE
INSERT INTO user VALUES ('%', 'fly', PASSWORD('fly'), 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y' ,'Y','Y','','','','',0,0,0,0);
FLUSH PRIVILEGES;
字符集原理:
mysql在创建数据库时默认指定了database,table,column的字符集;
当现有database支持的字符集不符合条件时,可以进行修改,需要将database,table,column的字符集均进行修改。在允许的情况下重新建database比较简单,
重新建立database:
1。查看数据库支持的字符集
mysql>SHOW CHARACTER SET
2.创建数据库
create database db_name DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
或create database db_name DEFAULT CHARACTER SET gbk ;
3.创建table,则table的缺省字符集同database
修改已有的database和table
1。查看数据库支持的字符集:
mysql>show create database lian;
或 mysql>show create database lian/G;
2. 修改数据库的字符集:
mysql>alter DATABASE lian DEFAULT CHARACTER SET gbk;
注:在修改后的database中建立table,则新的table使用同数据库一致的字符集
3. 查看table的字符集,注意column的字符集
mysql>show create table user_info;
4.修改table的字符集
mysql>alter TABLE user_info DEFAULT CHARACTER SET gbk;
5.修改column的字符集
mysql>ALTER TABLE user_info MODIFY id varchar(50) character set gbk NOT NULL;