本帖最后由 345353 于 2016-7-8 10:57 编辑
1.INSERT插入语句格式: INSERT INTO tb_name (字段1, 字段2, ...) VALUES (值1,值2, ...)[,(值1, 值2, ...),...]; INSERT INTO 表名 SET 字段1=值1,字段2=值2,...; INSERT INTO 表名 (字段1,字段2,...) SELECT (字段1,字段2,...) FROM 表名 [WHERE 条件]; 2.REPLACE插入语句格式: REPLACE INTO tb_name (字段1, 字段2, ...) VALUES (值1,值2, ...)[,(值1, 值2, ...),...]; REPLACE INTO 表名 SET 字段1=值1,字段2=值2,...; REPLACE INTO 表名 (字段1,字段2,...) SELECT (字段1,字段2,...) FROM 表名 [WHERE 条件]; 3.DELETE删除表中内容:
DELECT FROM 表名 WHERE 条件; DELECT FROM 表名;#清空表但不会重置计数器 TRUNCATE 表名; #清空表并重置AUTOCREMENT计数器 4.UPDATE更新表中内容 UPDATE 表名 SET 字段1=...,字段2=... WHERE 条件; 5.锁表:
读锁:共享锁
写锁:独占锁
LOCK TABLES 表名 {READ|WRITE};
UNLOCK TABLES
6.事务
6.1.明确启动事务:
START TRANSACTION:启动事务
ROLLBACK: 回滚
COMMIT: 提交 #注意提交后就不能回滚
6.2.没有明确启动事务:
autocommit:能实现自动提交,每一个操作都直接提交;
建议:明确使用事务,并且关闭自动提交;
SET AUTOCOMMIT=0;
SET @@autocommit;
6.3.事务保存点
保存点:SAVEPOINT 名字
回滚至保存点:ROLLBACK TO 名字
7.隔离级别:
READ-UNCOMMITTED:读未提交
READ-COMMITTED:读提交
REPEATABLE-READ:可重读
SERIALIZABLE:可串行
SELECT @@tx_isolation;
SET tx-isolation='READ-UNCOMMITED';
8.创建用户
CREATE USER willow@'%' IDENTIFIED BY 'redhat';
5.授权用户权限
GRANT CREATE ON 'willow'.* TO 'willow'@'%'
GRANT INSERT ON 'willow'.* TO 'willow'@'%'
GRANT ALTER ON 'willow'.* TO 'willow'@'%'
GRANT SELECT ON 'willow'.* TO 'willow'@'%'
GRANT UPDATE (Age) ON willow.students TO willow@'%'; #授权用户仅字段修改权限
6.删除用户
DROP USER '用户名'@'主机'
9.重命名用户
RENAME USER 旧用户名 TO 新用户名
10.取回用户授权
REVOKE SELECT ON willow.* FROM willow@'%';
11.mysql管理员密码忘记后取回密码:
停止mysql服务
service mysqld stop
vim /etc/init.d/mysqld
在start语句中插入
--skip-grant-tables --skip-networking service mysqld stop mysql #本地连上服务器此时跳过授权直接登入 USE mysql; UPDATE user SET Password=PASSWORD('redhat') WHERE User='root'; 注意:此时不能直接用SET命令修改密码,因为已跳过授权, # SET PASSWORD FOR 'root'@'localhost'=PASSWORD('redhat');将会报错 通过更新授权表方式直接修改其密码,并且将mysqld刚才新增的内容移除再重启服务器mysql。 启动mysqld_safe时传递两个参数:
--skip-grant-tables
--skip-networking
--skip-name-resolve
|