==注意区分两种方式的区别==
> mysql -h 127.0.0.1 -P 3306 -u root -p
> mysql -h127.0.0.1 -p3306 -uroot -p123
mysql> show databases; -- 查询数据库列表
mysql> show charset; -- 查询数据库的字符集信息
mysql> create database [if not exists] 数据库名 [character set=utf8]; -- 创建数据库
mysql> alter database 数据库名 character set=gbk; -- 修改数据库的字符集
mysql> drop database [if exists] 数据库名; -- 删除数据库
# 创建数据表
mysql> CREATE TABLE [IF NOT EXISTS ] `table_name`(
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`uid` CHAR(16) NOT NULL DEFAULT '' COMMENT '用户唯一ID',
`username` VARCHAR(30) NOT NULL DEFAULT '',
`add_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '入库时间',
PRIMARY KEY (`id`), -- 设置主键
UNIQUE `uid` (`uid`), -- 设置唯一键
KEY `username` (`username`) -- 设置普通索引
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='表注释说明';
# 删除数据表
mysql> drop table [if exists] 表名
# 添加字段
mysql> alter table `table_name` add `status` tinyint(3) unsigned not null default '1' comment '1表示数据有效';
# 修改字段(可改名)
mysql> alter table `table_name` change `uid` `uid_new` varchar(32) not null default '';
# 修改字段(只能改属性)
mysql> alter table `table_name` modify `username` varchar(32) not null default '' comment '用户名';
# 删除字段
mysql> alter table `table_name` drop `add_time`;
# 添加普通索引
mysql> alter table `table_name` add key `username` (`username`);
# 添加唯一索引
mysql> alter table `table_name` add unique key `uid_key` (`uid`);
# 删除索引
mysql> alter table `table_name` drop key `uid_key`;
# 修改表名
mysql> alter table `table_name` rename `table_name_new`;
# 添加单条数据
mysql> insert [into] 表名 (field1,field2,field3) values (val1,val2,val3)
mysql> insert [into] 表名 set field1=val1,field2=val2,field3=val3;
# 批量添加数据
mysql> insert [into] 表名 (field1,field2,field3) values (val11,val12,val13),(val21,val22,val23),(val31,val32,val33);
mysql> insert [into] 表名 (field1,field2,field3) (select field1,field2,field3 from 表名);
mysql> update 表名 set field1=val1,field2=val2,field3=val3 [where条件]
mysql> delete from 表名 [where条件]
mysql> truncate [table] 表名 -- 用于直接删除整个表(结构)并重新创建该表