1. 程式人生 > >SQL結構化查詢語言分類介紹

SQL結構化查詢語言分類介紹

sql結構化查詢語言分類介紹

SQL結構化查詢語言分類介紹


SQL:結構化查詢語言,它是一種對關系型數據進行定義和操作的語言方法。

SQL結構化查詢語言包含6個部分:

一、數據查詢語言(DQL)

DQL全稱Data Query Language,其語句也稱“數據檢索語句”,作用是從表中獲取數據,確定數據怎樣在應用程序給出。關鍵字SELECT是DQL(也是所有SQL)用的最多的動詞,其他DQL常用的保留字WHERE,ORDER BY,GROUP BY和HAVING。這些DQL保留字常與其他類型的SQL語句一起使用。

  1. 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)

  2. 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 |

    +-----------+-----------+-------------------------------------------+

    3 rows in set (0.00 sec)

    說明:mysql5.7數據庫下已經沒有password這個字段了,password字段改成了authentication_string,用來查看用戶的賬戶密碼。

二、數據操作語言(DML)

DML全稱:Data Manipulation Language,其語句包括動詞INSERT,UPDATE和DELETE。它們分別用於添加,修改和刪除表中的行(數據)。也稱為動作查詢語言。

  1. 刪除表中的數據

    先查看下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(表)中的用戶信息

    mysql> select user,host from mysql.user;

    +-----------+-----------+

    | user | host |

    +-----------+-----------+

    | mysql.sys | localhost |

    | root | localhost |

    | zabbix | localhost |

    +-----------+-----------+

    3 rows in set (0.00 sec)

    說明:我們可以看到,nginx這個用戶已經被刪除啦!

  2. 添加和修改表中的數據

    查看: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)

它的語句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用於對一個或多個表單獨行的操作。

技術分享


本文出自 “聖騎士控魔之手” 博客,請務必保留此出處http://wutengfei.blog.51cto.com/10942117/1954569

SQL結構化查詢語言分類介紹