数据库SQL语言

SQL分好几块功能啊
一:查数据的DQL。
就是SELECT啊,还有WHERE,ORDER BY这些词。
比如查用户表,写个SELECT FROM users WHERE age > 2 0,这样就能把2 0岁以上的用户查出来。
SELECT真的是用得最多,比啥都多。

二:改数据的DML。
INSERT是加数据,UPDATE是改数据,DELETE是删数据。
比如要加个新用户,写个INSERT INTO users (name, age) VALUES ('张三', 2 5 )。
动作查询语言,听着就带劲。

三:管事务的TPL。
BEGIN TRANSACTION开始,COMMIT提交,ROLLBACK回滚。
比如改数据库时,万一出错了,就用ROLLBACK撤销操作。
能确保数据改得及时。

四:管权限的DCL。
GRANT给权限,REVOKE收权限。
比如让某个员工能看报表数据,就写GRANT SELECT ON reports TO 员工名。
有的数据库还能控制到列的权限,比如只让员工看name列。

五:建表的DDL。
CREATE TABLE建表,DROP TABLE删表。
比如要建个订单表,写个CREATE TABLE orders (id INT, date DATE)。
还有CREATE INDEX加索引。

六:指针控制CCL。
DECLARE CURSOR声明游标,FETCH INTO取数据,UPDATE WHERE CURRENT改数据。
这个一般人用得少,但有时候要逐行操作表数据,就得用。

说实话,这些功能用多了就顺手了,刚开始写SQL的时候,我经常把JOIN和WHERE搞混。
当时也没想明白为啥有的语句要加括号,有的又不用。
慢慢写多了,就好了。

SQL语言功能概述

SQL就这四块:查、建、改、管。

查用SELECT,啥都能捞出来。
上周刚处理一个,客户要查所有男生成绩,直接SELECT FROM students WHERE gender='男'就完事。

建用CREATE,表、视图都能造。
我手上这个项目,CREATE TABLE users(id INT, name VARCHAR(5 0)),表就建好了。

改用UPDATE,删用DELETE。
DELETE FROM orders WHERE status='已取消',订单立马删没。
UPDATE products SET price=1 00 WHERE id=5 ,价格改完事。

管用GRANT和REVOKE。
GRANT SELECT ON table_name TO user,权限给人家。
REVOKE ALL PRIVILEGES,权限全收回来。

说白了,SQL就是这么个万能工具。
先这样。

sql语言主要分为哪几类?

SQL分好几块啊。
你看这个DQL,就是查数据的。
就说个例子,select from table,就这么简单。
用得最多的就是这个。

DML呢,就是增删改。
比如你加条数据,insert into table values(1 , 'text'); 这就往里加数据。
或者update table set name='new' where id=1 ,这就改数据。

TPH,这个我搞不太懂,好像跟事务有关。
就说个大概,比如你开始一个事务,begin transaction; 然后做几步操作,最后commit或者rollback。

DCL是管权限的。
就说个例子,grant select on table to user; 这就给某人查表的权限。
revoke也类似。

DDL呢,就是建表啥的。
比如create table table_name(id int, name varchar); 这就建个表。

CCL这个我更搞不懂,好像跟指针有关。
传智播客讲得还行,可以去看看他们的免费视频。
反正先看看基础,要是觉得有用再继续学呗。