SQL結構化查詢語言分類介紹
SQL:結構化查詢語言,它是一種對關系型資料進行定義和操作的語言方法。
SQL結構化查詢語言包含6個部分:
一、資料查詢語言(DQL)
DQL全稱Data Query Language,其語句也稱“資料檢索語句”,作用是從表中擷取資料,确定資料怎樣在應用程式給出。關鍵字SELECT是DQL(也是所有SQL)用的最多的動詞,其他DQL常用的保留字WHERE,ORDER BY,GROUP BY和HAVING。這些DQL保留字常與其他類型的SQL語句一起使用。
-
select(關鍵字)與order by(保留字)一起使用例子
mysql> select user,host from mysql.user order by user;
+-----------+-----------+
| user | host |
| mysql.sys | localhost |
| root | localhost |
| zabbix | localhost |
3 rows in set (0.00 sec)
-
select與from
mysql> select user,host,authentication_string from mysql.user;
+-----------+-----------+-------------------------------------------+
| user | host | authentication_string |
| root | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| mysql.sys | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| zabbix | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
說明:mysql5.7資料庫下已經沒有password這個字段了,password字段改成了authentication_string,用來檢視使用者的賬戶密碼。
二、資料操作語言(DML)
DML全稱:Data Manipulation Language,其語句包括動詞INSERT,UPDATE和DELETE。它們分别用于添加,修改和删除表中的行(資料)。也稱為動作查詢語言。
-
删除表中的資料
先檢視下mysql(庫),user(表)中的資料
mysql> select user,host from mysql.user;
+-----------+---------------+
| user | host |
| nginx | 192.169.5.144 |
| mysql.sys | localhost |
| root | localhost |
| zabbix | localhost |
4 rows in set (0.00 sec)
然後把mysql庫user表中的nginx删除掉:
mysql> delete from mysql.user where user='nginx' and host='192.169.5.144';
Query OK, 1 row affected (0.03 sec)
說明:and host='192.169.5.144'可以不加,即:delete from mysql.user where user='nginx';
最後,再次檢視mysql(庫),user(表)中的使用者資訊
說明:我們可以看到,nginx這個使用者已經被删除啦!
-
添加和修改表中的資料
檢視:http://wutengfei.blog.51cto.com/10942117/1905963
三、事務處理語言(TPL)
它的語句能確定被DML語句影響的表的所有行及時得以更新。TPL語言包括BEGIN TRANSACTION,COMMIT和ROLLBACK。
說明:MySQL預設執行commit的,Oracle需要自己手動執行commit等TPL語言。
四、資料控制語言(DCL)
DCL全稱(Data Control Language),它的語句通過GRANT或REVOKE獲得許可。确定單個使用者和使用者組對資料庫對象的通路。某些RDBMS可用GRANT或REVOKE控制對表單個列的通路。
五、資料定義語言(DDL)
DDL全稱(Data Definition Language),其語句包括動詞CREATE和DROP。在資料庫中建立新表或删除表;為表加入索引等。DDL包括許多與人資料庫目錄中獲得資料有關的保留字。它也是動作查詢的一部分。
六、指針控制語言(CCL)