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 |
+-----------+-----------+-------------------------------------------+
3 rows in set (0.00 sec)
说明: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(表)中的用户信息
mysql> select user,host from mysql.user;
+-----------+-----------+
| user | host |
+-----------+-----------+
| mysql.sys | localhost |
| root | localhost |
| zabbix | localhost |
+-----------+-----------+
3 rows in set (0.00 sec)
说明:我们可以看到,nginx这个用户已经被删除啦!
添加和修改表中的数据
三、事务处理语言(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用于对一个或多个表单独行的操作。