更新时间:2025-11-19 GMT+08:00
分享

常用SQL语句示例

数据查询

  • 基本查询
    SELECT * FROM users;
  • 条件查询
    SELECT name, age FROM users WHERE age > 30;
  • 排序
    SELECT * FROM users ORDER BY create_time DESC;
  • 分组聚合
    SELECT age, COUNT(*) FROM users GROUP BY age;
  • TOP语法
    SELECT TOP 10 * FROM users;

数据插入与修改

  • 插入
    INSERT INTO users (name, age) VALUES ('Alice',  25);
  • OUTPUT 语法
    INSERT INTO t(name) OUTPUT INSERTED.* VALUES('abc');
  • 更新数据
    UPDATE users SET age = age + 1 WHERE name = 'Alice';
  • 删除数据
    DELETE FROM users WHERE age < 18;

表操作

  • 创建表
    CREATE TABLE users (id INT PRIMARY KEY, name NVARCHAR(50), age INT);
  • 删除表
    DROP TABLE users;
  • 添加字段
    ALTER TABLE users ADD email NVARCHAR(100);
  • 删除字段
    ALTER TABLE users DROP COLUMN email;
  • 修改字段类型
    ALTER TABLE users ALTER COLUMN age SMALLINT;
  • 全局临时表
    CREATE TABLE ##tmp(x INT);
  • 局部临时表
    CREATE TABLE #tmp(x INT);

数据完整性与索引

  • 添加主键
    ALTER TABLE users ADD CONSTRAINT pk_users PRIMARY KEY (id);
  • 创建唯一索引
    CREATE UNIQUE INDEX idx_users_name ON users(name);
  • 添加外键
    ALTER TABLE orders ADD CONSTRAINT fk_orders_user FOREIGN KEY (user_id) REFERENCES users(id);

视图与存储过程

  • 创建视图
    CREATE VIEW adult_users AS SELECT * FROM users WHERE age >= 18;
  • 删除视图
    DROP VIEW adult_users;
  • 存储过程
    CREATE PROCEDURE get_adult_users AS
    SELECT * FROM users WHERE age >= 18;
  • 执行存储过程
    EXEC get_adult_users;

数据库操作

  • 查询版本
    SELECT @@version;
  • 数据库切换
    USE testdb;

相关文档