九、Mysql的DCL和DML語句
阿新 • • 發佈:2020-11-05
DCL作用,給mysql使用者授權及回收許可權
1、給使用者授權
create user root@'192.168.32.%' identified by '123'; grant all on *.* to root@'192.168.32.%' ; create user ywx@'192.168.32.%' identified by '123'; grant update,select,delete,insert on wordpress.* to ywx@'192.168.32.%';
revoke delete on wordpress.* from ywx@'192.168.32.%';
DML作用:對錶中的資料行進行增、刪、改
1、插入資料insert
(1) 最標準的insert語句 INSERT INTO 表明(列名1,列名2,列名3,。。。) VALUES(列1內容,列2內容,列3內容。。。) 案列 INSERT INTO stu(id,sname,sage,sg,sfz,intime) VALUES (1,'zs',18,'m','123456',NOW()); --- 省事的寫法(不建議) INSERT INTO stu VALUES (2,'ls',18,'m','1234567',NOW()); (2)查詢 SELECT* FROM stu; (3)針對性的錄入資料 INSERT INTO stu(sname,sfz) VALUES ('w5','34445788'); (4)同時錄入多行資料 INSERT INTO stu(sname,sfz) VALUES ('w55','3444578d8'), ('m6','1212313'), ('aa','123213123123'); SELECT * FROM stu;
DESC stu; SELECT * FROM stu; UPDATE stu SET sname='zhao4' WHERE id=2; #把id=2的sname改為zhao4 注意:update語句必須要加where。 如果不加where條件語句 UPDATE stu SET sname='zhao4'; #是把stu表整個sname列的資料改為zhao4
DELETE FROM stu where id=2; #把id=2的行刪除(邏輯刪除,不釋放空間,會造成資料頁的不連續)
全表刪除:
DELETE FROM stu
truncate table stu;
區別:
delete: DML操作, 是邏輯性質刪除,逐行進行刪除,速度慢.
truncate: DDL操作,對與表段中的資料頁進行清空,速度快.
#1、新增state狀態列 ALTER TABLE stu ADD state TINYINT NOT NULL DEFAULT 1; #2、檢視state列新增成功 SELECT * FROM stu; #3、UPDATE代替delete UPDATE stu SET state=0 WHERE id=5; #4、業務語句查詢 SELECT * FROM stu WHERE state=1;