SQL Server 数据库中的操作指令基于 SQL 语言标准,支持常见的数据库操作语句。以下是 SQL Server 中常见的 SQL 指令,按照不同的操作类别进行归纳。
一、数据库管理操作
-
创建数据库
1
CREATE DATABASE database_name;
-
修改数据库
1 2
ALTER DATABASE database_name MODIFY FILE (NAME = logical_file_name, SIZE = new_size);
-
删除数据库
1
DROP DATABASE database_name;
-
选择数据库
1
USE database_name;
二、表的管理操作
-
创建表
1 2 3 4 5
CREATE TABLE table_name ( column1 datatype constraint, column2 datatype constraint, ... );
-
修改表结构
- 添加列:
1 2
ALTER TABLE table_name ADD column_name datatype;
- 删除列:
1 2
ALTER TABLE table_name DROP COLUMN column_name;
- 修改列的数据类型:
1 2
ALTER TABLE table_name ALTER COLUMN column_name new_datatype;
- 添加列:
-
删除表
1
DROP TABLE table_name;
三、数据操作(DML)
-
插入数据
1 2
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
-
更新数据
1 2 3
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
-
删除数据
1 2
DELETE FROM table_name WHERE condition;
-
查询数据
1 2 3
SELECT column1, column2, ... FROM table_name WHERE condition;
-
查询所有数据
1
SELECT * FROM table_name;
-
排序查询结果
1 2 3
SELECT column1, column2 FROM table_name ORDER BY column1 [ASC|DESC];
-
过滤重复数据
1 2
SELECT DISTINCT column1 FROM table_name;
-
统计查询
- 计数:
1 2
SELECT COUNT(*) FROM table_name;
- 求和:
1 2
SELECT SUM(column_name) FROM table_name;
- 平均值:
1 2
SELECT AVG(column_name) FROM table_name;
- 最大值和最小值:
1 2
SELECT MAX(column_name), MIN(column_name) FROM table_name;
- 计数:
四、索引操作
-
创建索引
- 创建普通索引:
1 2
CREATE INDEX index_name ON table_name (column_name);
- 创建唯一索引:
1 2
CREATE UNIQUE INDEX index_name ON table_name (column_name);
- 创建普通索引:
-
删除索引
1
DROP INDEX index_name ON table_name;
五、视图操作
-
创建视图
1 2 3 4
CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition;
-
修改视图
1 2 3 4
ALTER VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition;
-
删除视图
1
DROP VIEW view_name;
六、存储过程和函数操作
-
创建存储过程
1 2 3 4 5
CREATE PROCEDURE procedure_name AS BEGIN -- SQL语句 END;
-
执行存储过程
1
EXEC procedure_name;
-
删除存储过程
1
DROP PROCEDURE procedure_name;
-
创建用户定义函数
- 标量函数:
1 2 3 4 5 6
CREATE FUNCTION function_name (@param1 datatype, ...) RETURNS datatype AS BEGIN RETURN expression; END;
- 表值函数:
1 2 3 4 5 6 7
CREATE FUNCTION function_name (@param1 datatype, ...) RETURNS TABLE AS RETURN ( SELECT ... );
- 标量函数:
-
删除函数
1
DROP FUNCTION function_name;
七、触发器操作
-
创建触发器
1 2 3 4 5 6 7
CREATE TRIGGER trigger_name ON table_name AFTER INSERT, UPDATE, DELETE AS BEGIN -- SQL 逻辑 END;
-
删除触发器
1
DROP TRIGGER trigger_name;
八、事务控制
-
开启事务
1
BEGIN TRANSACTION;
-
提交事务
1
COMMIT TRANSACTION;
-
回滚事务
1
ROLLBACK TRANSACTION;
九、权限管理
-
创建用户
1 2
CREATE LOGIN login_name WITH PASSWORD = 'password'; CREATE USER user_name FOR LOGIN login_name;
-
赋予权限
1
GRANT permission_type ON object_name TO user_name;
-
撤销权限
1
REVOKE permission_type ON object_name FROM user_name;
-
删除用户
1
DROP USER user_name;
十、其他常用命令
-
联合查询(UNION)
1 2 3
SELECT column1, column2 FROM table1 UNION SELECT column1, column2 FROM table2;
-
分组查询
1 2 3
SELECT column1, COUNT(*) FROM table_name GROUP BY column1;
-
子查询
1 2 3
SELECT column1 FROM table_name WHERE column2 IN (SELECT column2 FROM another_table);
-
限制查询条数
1 2
SELECT TOP 10 column1, column2 FROM table_name;
总结
上述 SQL 指令涵盖了 SQL Server 中大部分常用的数据库操作。熟悉这些指令后,你可以轻松管理数据库、表、数据,以及控制用户权限、操作事务等。每个指令都有其特殊的使用场景,建议在实际操作中根据需求选择合适的命令。