標籤:linux下mysql insert update delete 事務 使用者管理
linux下mysql Insert update delete 事務 使用者管理
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 [email protected]‘%‘ 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 [email protected]‘%‘; #授權使用者僅欄位修改許可權
6.刪除使用者
DROP USER ‘使用者名稱‘@‘主機‘
9.重新命名使用者
RENAME USER 舊使用者名稱 TO 新使用者名稱
10.取回使用者授權
REVOKE SELECT ON willow.* FROM [email protected]‘%‘;
11.mysql管理員密碼忘記後取回密碼:
停止mysql服務
service mysqld stop
vim /etc/init.d/mysqld
在start語句中插入
--skip-grant-tables
--skip-networking
650) this.width=650;" src="http://s5.51cto.com/wyfs02/M00/83/CE/wKioL1d8y0qTaY-vAAHk9mVTHrc535.jpg-wh_500x0-wm_3-wmp_4-s_1694436580.jpg" title="1.jpg" alt="wKioL1d8y0qTaY-vAAHk9mVTHrc535.jpg-wh_50" />
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
本文出自 “夏維柳” 部落格,請務必保留此出處http://willow.blog.51cto.com/6574604/1811720
linux下mysql Insert update delete 事務 使用者管理