1. 数据库连接操作
-
连接
mysql -h host -u user -p databaseName #本机操作可以省略主机信息 mysql -u user -p #databasName可以不指定,不指定时仅建立连接
-
退出
QUIT
- 清屏
system clear
2. 数据库信息查询
-
查询数据库版本
SELECT VERSION();
-
查询数据库
#当前所有数据库 SHOW DATABASES; #当前使用数据库 SELECT database();
-
选择/进入要操作的数据库
USE dbname;
-
查询用户
SELECT USER();
3. 数据库操作
- 创建
CREATE DATABASE IF NOT EXISTS dbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
- 删除数据库
DROP DATABSE dbname;
4. 表操作
-
查询表列表
SHOW TABLES;
-
查询表结构信息;
DECRIBE tablename;
5. 索引操作
5.1. 创建索引
5.1.1. ALTER TABLE 创建普通索引、唯一索引、主键
给表创建普通索引
ALTER TABLE table_name ADD INDEX index_name (column1,column2..columnN)
给表创建唯一索引
ALTER TABLE table_name ADD UNIQUE index_name (column1,column2..columnN)
给表创建主键
ALTER TABLE table_name ADD PRIMARY KEY key_name (column1,column2..columnN)
5.1.2. CREATE INDEX 创建普通索引和唯一索引
创建普通索引
CREATE INDEX index_name ON table_name (column1,column2..columnN)
创建唯一索引
CREATE UNIQUE INDEX index_name ON table_name (column1,column2..columnN)1
5.2. 删除索引
DROP INDEX index_name ON talbe_name
ALTER TABLE table_name DROP INDEX index_name
ALTER TABLE table_name DROP PRIMARY KEY
5.3. 查看索引
SHOW INDEX FROM tblname;
SHOW KEYS FROM tblname;
6. 事务操作
-
查看当前会话事务隔离级别
SELECT @@tx_isolation;
+-----------------+ | @@tx_isolation | +-----------------+ | REPEATABLE-READ | +-----------------+
-
查看当前数据库默认事务隔离级别
select @@global.tx_isolation;
-
事务基本操作
SET [GLOBAL | SESSION] TRANSACTION transaction_characteristic [, transaction_characteristic] ... transaction_characteristic: { ISOLATION LEVEL level | READ WRITE | READ ONLY } level: { REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED | SERIALIZABLE }
说明
通过以上语句可以设置事务操作类型:读写/仅读,以及事务的隔离级别(四类),对事务的设置影响范围为当前会话或全局。示例
#设置当前会话隔离级别为可重复读 SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ; #启动事务 START TRANSACTION; [或者SET AUTOCOMMIT=FALSE;] #执行语句 UPDATE person SET gender='F' where pid='1'; #提交|回滚 COMMIT;|ROLLBACK;
-
还原点
#创建还原点 SAVEPOINT a; dml语句 ... #回滚到还原点 ROLLBACK TO SAVEPOINT a; #释放还原点 RELEASE SAVEPOINT a;
说明
在事务中可以创建多个还原点用用于回滚;