分类: LINUX
2011-09-03 20:34:03
SHOW CREATE 名字; 查看创建该名字的命令
例: SHOW CREATE TABLE 表名
例: SHOW CREATE DATABASES 名字
HELP SHOW CREATE 查看帮助
创建索引: CREATE INDEX 字段名ON 表名(字段名)
例: CREATE INDEX on_name ON juexue(Cname)
创建视图:HELP CREATE VIEW 查看帮助
CREATE VIEW view_name AS SELECT clause WITH CHECK OPTON
例:
删除视图:DROP VIEW view_name
子查询:
例: SELECT Name FROM knight WHERE Age > ( SELECT AVG(Age) FROM knigh WHERE Age IS NOT NULL);
SHOW PROCESSLIST 查看连接状态
事物:Transact 几个事件要么同时执行要么不执行,事物有回退功能
引擎MyISAM不支持事物,InnoDB支持,判断引擎是否支持事物是否满足ACID特性:ACID其中A:Atomicity 原子性,C:Consistency 一致性,I: Isolation 隔离性 ,D: Durablity 持久性
MySQL隔离级别: 读未提交:READ UNCOMMIFED 读提交: READ COMMITED 可重读: REPEATABLE READ(默认级别) 串行化: SERIABLIZABLE
隔离级别越高,安全性越好,并发性越差
查看隔离级别:SHOW VARIABLES LIKE ‘tx%’
SET SESSION TRANSACTION ISOLATION LEVEL 隔离级别; 修改会话模式隔离级别
事物设置的格式:
START TRANSACTION 启用事物
…. MySQL语句
ROLLBACK 撤销上次的操作
COMMIT 提交事物
同步:
锁: 共享锁:READ 读锁, 独占锁:写锁: WRITE
锁级别:表锁, 行锁, 页锁(内存空间)
锁的实现:服务器级别(只能实现表锁) ,存储引擎级别
LOCK TABLES tb_name
例:LOCK TABLES user READ; 启动共享锁
UNLOCK TABLES 释放锁
创建用户:HELP CRATE USER 查看帮助
CREATE USER user_name@IP IDENTIFIED BY ‘password’
例;CREATE USER jerry@’%’ IDENTIFIED BY ‘REDHAT’
删除用户: DROP USER username@IP
授权:GRANT 授权
格式: GRANT 权限 ON 表 TO 用户 [IDENTIFIED BY ‘PASSWORD’]
例:GRANT DROP ON hellodb.* TO ‘jerry’@’%’
例:GRANT ALL PRIVILEGES ON hellodb.* TO ‘jerry’@’%’ 授权所以权限
WITH GRANT OPTON 让用户可以把权限赋予其他用户
设定其所使用的资源:
WITH MAX_QUERIES_PER_HOUR n;
WITH MAX_UPDATES_PER_HOUR n 多长时间刷新
WITH MAX_CONNECTIONS_PER_HOUR n 最大连接次数
WITH MAX_USER_CONNECTOINS n 同一账号同时连接几个
当设定好后使用FLUSH USER_RESOURCES 让其生效
在某个字段上的权限:
GRANT SELECT(name) ON db_name TO user@IP
执行存储历程的权限:
GRANT EXECUTE ON db_name TO user@IP
SHOW GRANTS FOR ‘root’@’localhost’ 查看root的用户所拥有的权限
撤销授权:HELP REVOKE 看帮助
例:REVOKE SELECT ON hellodb.* FROM ‘jerry’@’%’ 收回select权限