MySQL 使用方法(二)

1 显示所有数据库

SHOW DATABASES;

2 显示当前操作数据库的所有表

SHOW TABLES;

3 显示表的元数据

SHOW CREATE TABLE 表名;

SHOW COLUMNS FROM 表名
或者
DESCRIBE 表名

4 建立数据库

CREATE DATABASE 数据库名 CHARACTER SET utf8;

5 建立表

CREATE TABLE 表名 (id int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY, userName varchar(100) NOT NULL);

6 查看 mysql 服务器的连接列表

SHOW PROCESSLIST;

7 查看某张表当前的 AUTO_INCREMENT

SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = "数据库名" AND TABLE_NAME = "表名";

8 修改表中某关键字的属性

ALTER TABLE 表名 MODIFY COLUMN 关键字 VARCHAR(10) NOT NULL;

下面的方法还可以同时修改关键字名字:
ALTER TABLE 表名 CHANGE COLUMN 原关键字 新关键字 VARCHAR(10) NOT NULL;

修改当前的自增值:
ALTER TABLE 表名 AUTO_INCREMENT 新值

9 添加关键字

在某个关键字后面进行添加:
ALTER TABLE 表名 ADD COLUMN 关键字 VARCHAR(10) NOT NULL AFTER 关键字

添加为第一列:
ALTER TABLE 表名 ADD COLUMN 关键字 VARCHAR(10) NOT NULL FIRST

10 加密与解密

假设 password 关键字的类型为 VARBINARY(AES_ENCRYPT 的返回值类型就是这个)。

INSERT INTO 表名 (id, username, password) VALUES (1, "南京大学", AES_ENCRYPT("123456", "netease"));

SELECT CAST(AES_DECRYPT(password, "netease") AS CHAR(50)) FROM 表名;

11 Dump 到本地

导出某个数据库的某张表(包括表结构和数据):
mysqldump -h host -P port -u username -p database_name table_name >/home/xxx/db.sql

对于某个数据库的某张表,只导出其表结构:
mysqldump -h host -P port -u username -p database_name table_name --no-data >/home/xxx/db.sql

导出多个数据库:
mysqldump -h host -P port -u username -p --databases db1 db2 >/home/xxx/db.sql

导出指定数据库的多个表:
mysqldump -h host -P port -u username -p database_name -tables t1 t2 >/home/xxx/db.sql

将执行语句的结果导出到本地:
mysql -h host -P port -u username -p kaola -e "select * from recommendation;" >lala.sql

这种方式在默认情况下,任意两个字段间为 \t,行末为 \n。


Reference