根据提供的信息,我们可以总结出以下详细的SQL知识点: ###数据操作#### SELECT - **功能**:从数据库表中检索数据行和列。 - **语法**: ```sql SELECT (列名) FROM table_name (表名) WHERE column_name operator value ``` - **示例**: -选择所有字段: ```sql SELECT * FROM stock_information WHERE stockid = str(nid); ``` -使用`LIKE`进行模糊匹配: ```sql SELECT * FROM stock_information WHERE stockname LIKE '%findthis%'; ``` -使用`LIKE`与括号`[ ]`指定值的范围: ```sql SELECT * FROM stock_information WHERE stockname LIKE '[a-zA-Z]%'; ``` -使用`LIKE`与`^`排除指定范围: ```sql SELECT * FROM stock_information WHERE stockname LIKE '^[^F-M]%'; ``` -使用`OR`和`AND`连接多个条件: ```sql SELECT * FROM stock_information WHERE stockname = 'str_name' OR stockpath = 'stock_path' AND stockindex = 24; ``` -使用`NOT`进行否定匹配: ```sql SELECT * FROM stock_information WHERE NOT stock*** = 'man'; ``` -使用`BETWEEN`匹配特定范围内的值: ```sql SELECT * FROM stock_information WHERE stocknumber BETWEEN 20 AND 100; ``` -使用`IN`匹配列表中的任意值: ```sql SELECT * FROM stock_information WHERE stocknumber IN (10, 20, 30); ``` -对结果排序: ```sql SELECT * FROM stock_information ORDER BY stocknumber DESC; ``` #### INSERT - **功能**:向数据库表添加新数据行。 - **语法**: ```sql INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...); ``` #### DELETE - **功能**:从数据库表中删除数据行。 - **语法**: ```sql DELETE FROM table_name WHERE condition; ``` #### UPDATE - **功能**:更新数据库表中的数据。 - **语法**: ```sql UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; ``` ###数据定义#### CREATE TABLE - **功能**:创建一个数据库表。 - **语法**: ```sql CREATE TABLE table_name (column1 datatype, column2 datatype, ...); ``` #### DROP TABLE - **功能**:从数据库中删除表。 - **语法**: ```sql DROP TABLE table_name; ``` #### ALTER TABLE - **功能**:修改数据库表结构。 - **语法**: ```sql ALTER TABLE table_name ADD column_name datatype; ``` #### CREATE VIEW - **功能**:创建一个视图。 - **语法**: ```sql CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition; ``` #### DROP VIEW - **功能**:从数据库中删除视图。 - **语法**: ```sql DROP VIEW view_name; ``` #### CREATE INDEX - **功能**:为数据库表创建一个索引。 - **语法**: ```sql CREATE INDEX index_name ON table_name (column1, column2, ...); ``` #### DROP INDEX - **功能**:从数据库中删除索引。 - **语法**: ```sql DROP INDEX index_name ON table_name; ``` #### CREATE PROCEDURE - **功能**:创建一个存储过程。 - **语法**: ```sql CREATE PROCEDURE procedure_name AS BEGIN SQL_statement; END; ``` #### DROP PROCEDURE - **功能**:从数据库中删除存储过程。 - **语法**: ```sql DROP PROCEDURE procedure_name; ``` #### CREATE TRIGGER - **功能**:创建一个触发器。 - **语法**: ```sql CREATE TRIGGER trigger_name AFTER INSERT ON table_name FOR EACH ROW BEGIN SQL_statement; END; ``` #### DROP TRIGGER - **功能**:从数据库中删除触发器。 - **语法**: ```sql DROP TRIGGER trigger_name; ``` #### CREATE SCHEMA - **功能**:向数据库添加一个新模式。 - **语法**: ```sql CREATE SCHEMA schema_name; ``` #### DROP SCHEMA - **功能**:从数据库中删除一个模式。 - **语法**: ```sql DROP SCHEMA schema_name; ``` #### CREATE DOMAIN - **功能**:创建一个数据值域。 - **语法**: ```sql CREATE DOMAIN domain_name AS datatype [ CONSTRAINT constraint_name check (condition) ]; ``` #### ALTER DOMAIN - **功能**:改变域定义。 - **语法**: ```sql ALTER DOMAIN domain_name RENAME TO new_domain_name; ``` #### DROP DOMAIN - **功能**:从数据库中删除一个域。 - **语法**: ```sql DROP DOMAIN domain_name; ``` ###数据控制#### GRANT - **功能**:授予用户访问权限。 - **语法**: ```sql GRANT permission ON object TO user; ``` #### DENY - **功能**:拒绝用户访问。 - **语法**: ```sql DENY permission ON object TO user; ``` #### REVOKE - **功能**:解除用户访问权限。 - **语法**: ```sql REVOKE permission ON object FROM user; ``` ###事务控制#### COMMIT - **功能**:结束当前事务。 - **语法**: ```sql COMMIT; ``` #### ROLLBACK - **功能**:中止当前事务。 - **语法**: ```sql ROLLBACK; ``` #### SET TRANSACTION - **功能**:定义当前事务数据访问特征。 - **语法**: ```sql SET TRANSACTION ISOLATION LEVEL level; ``` ###程序化SQL #### DECLARE - **功能**:为查询设定游标。 - **语法**: ```sql DECLARE cursor_name CURSOR FOR SELECT statement; ``` #### EXPLAIN - **功能**:为查询描述数据访问计划。 - **语法**(此命令通常用于数据库管理工具中): ```sql EXPLAIN PLAN FOR SELECT statement; ``` #### OPEN - **功能**:检索查询结果并打开一个游标。 - **语法**: ```sql OPEN cursor_name; ``` #### FETCH - **功能**:检索一行查询结果。 - **语法**: ```sql FETCH NEXT FROM cursor_name INTO @variable1, @variable2, ...; ``` #### CLOSE - **功能**:关闭游标。 - **语法**: ```sql CLOSE cursor_name; ``` #### PREPARE - **功能**:为动态执行准备SQL语句。 - **语法**: ```sql PREPARE statement_name FROM 'SQL_statement'; ``` #### EXECUTE - **功能**:动态地执行SQL语句。 - **语法**: ```sql EXECUTE statement_name; ``` #### DESCRIBE - **功能**:描述准备好的查询。 - **语法**: ```sql DESCRIBE prepared_statement; ``` ###局部变量#### DECLARE - **功能**:声明局部变量。 - **语法**: ```sql DECLARE @variable datatype; ``` - **示例**: ```sql DECLARE @id char(10); SELECT @id = '10001'; ``` ###全局变量- **功能**:声明全局变量。 - **语法**: ```sql SELECT @@global_variable; ``` ###条件判断#### IF...ELSE - **功能**:进行条件判断。 - **语法**: ```sql IF condition THEN SQL_statement; ELSE SQL_statement; END IF; ``` - **示例**: ```sql DECLARE @x int, @y int, @z int; SELECT @x = 1, @y = 2, @z = 3; IF @x > @y THEN PRINT 'x > y'; --打印字符串'x > y' ELSEIF @y > @z THEN PRINT 'y > z'; ELSE PRINT 'z > y'; END IF; ``` #### CASE - **功能**:进行多条件判断。 - **语法**: ```sql CASE WHEN condition THEN SQL_statement; ELSE SQL_statement; END; ``` - **示例**: ```sql USE pangu; UPDATE employee SET e_wage = CASE WHEN job_level = '1' THEN e_wage * 1.08 WHEN job_level = '2' THEN e_wage * 1.07 WHEN job_level = '3' THEN e_wage * 1.06 ELSE e_wage * 1.05 END; ``` ###循环控制#### WHILE...CONTINUE...BREAK - **功能**:进行循环控制。 - **语法**: ```sql WHILE condition BEGIN SQL_statement; END ``` - **示例**: ```sql DECLARE @x int, @y int, @c int; SELECT @x = 1, @y = 1; WHILE @x < 3 xss=removed xss=removed xss=removed xss=removed>