DQL:SELECT * FROM 表名
DML(數據操作語言,它是對表記錄的操作(增、刪、改)!)
1. 插入數據
* INTERT INTO 表名(列名1,列名2, ...) VALUES(列值1, 列值2, ...);
> 在表名后給出要插入的列名,其他沒有指定的列等同與插入null值。所以插入記錄總是插入一行,不可能是半行。
> 在VALUES后給出列值,值的順序和個數必須與前面指定的列對應
* INTERT INTO 表名 VALUES(列值1, 列值2)
> 沒有給出要插入的列,那么表示插入所有列。
> 值的個數必須是該表列的個數。
> 值的順序,必須與表創建時給出的列的順序相同。
在數據庫中所有的字符串類型,必須使用單引,不能使用雙引!
日期類型也要使用單引!
// 插入所有列 INSERT INTO stu( number, name, age, gender ) VALUES( 'ITCAST_0001', 'zhangSan', 28, 'male' );
// 插入部分列,沒有指定的列默認為NULL值 INSERT INTO stu( number, name ) VAKLUES( 'ITCAST_0002', 'liSi' );
// 不給出插入列,那么默認為插入所有列!值的順序要與創建表時列的順序相同 INSERT INTO stu VALUES( 'ITCAST_0003', 'wangWu', 82, 'female' );
2. 修改數據
* UPDATE 表名 SET 列名1=列值1, 列名2=列值2, ... [WHERE 條件]
* 條件(條件可選的):
> 條件必須是一個boolean類型的值或表達式:UPDATE t_person SET gender='男', age=age+1 WHERE sid='1';
> 運算符:=、!=、<>、>、<、>=、<=、BETWEEN...AND、IN(...)、IS NULL、NOT、OR、AND
列如:
WHERE age >= 18 AND age <= 80 WHERE age BETWEEN 18 AND 80 WHERE name='zhangSan' OR name='liSi' WHERE name IN ('zhangSan', 'liSi') WHERE age IS NULL, //不能使用等號 WHERE age IS NOT NULL
3. 刪除數據
* DELETE FROM 表名 [WHERE 條件];
* TRUNCATE TABLE 表名:TRUNCATE是DDL語句,它是先刪除drop該表,再create該表。而且無法回滾!!!
DCL(理解)
* 一個項目創建一個用戶!一個項目對應的數據庫只有一個!
* 這個用戶只能對這個數據庫有權限,其他數據庫你就操作不了了!
1. 創建用戶
* CREATE USER 用戶名@IP地址 IDENTIFIED BY '密碼';
> 用戶只能在指定的IP地址上登錄
* CREATE USER 用戶名@'%' IDENTIFIED BY '密碼';
> 用戶可以在任意IP地址上登錄
2. 給用戶授權
* GRANT 權限1, … , 權限n ON 數據庫.* TO 用戶名@IP地址
> 權限、用戶、數據庫
> 給用戶分派在指定的數據庫上的指定的權限
> 例如;GRANT CREATE,ALTER,DROP,INSERT,UPDATE,DELETE,SELECT ON mydb1.* TO user1@localhost;
* 給user1用戶分派在mydb1數據庫上的create、alter、drop、insert、update、delete、select權限
* GRANT ALL ON 數據庫.* TO 用戶名@IP地址;
> 給用戶分派指定數據庫上的所有權限
3. 撤銷授權
* REVOKE 權限1, … , 權限n ON 數據庫.* FROM 用戶名@IP地址;
> 撤消指定用戶在指定數據庫上的指定權限
> 例如;REVOKE CREATE,ALTER,DROP ON mydb1.* FROM user1@localhost;
* 撤消user1用戶在mydb1數據庫上的create、alter、drop權限
4. 查看權限
* SHOW GRANTS FOR 用戶名@IP地址
> 查看指定用戶的權限
5. 刪除用戶
* DROP USER 用戶名@IP地址