常用SQL语句总结

本文详细介绍了SQL中关于模式、表、索引、视图的创建、修改和删除操作,以及数据查询、更新、删除的方法。此外,还涵盖了授权管理、触发器的创建和数据库权限的授予与收回。内容全面,适合数据库管理员和开发者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.数据定义更删改
1.模式的定义与删除
  • 定义子模式
CREATE SCHEMA <模式名> AUTHORIZATION <用户名>
CREATE SCHEMA <模式名> AUTHORIZATION <用户名> [<表定义子句>
                                             |<视图定义子句>
                                             |<授权定义子句>]
  • 删除子模式
DROP SCHEMA <模式名><CASCADE|RESTRICT>
2.基本表的定义更删改
  • 定义基本表
CREATE TABLE <TABLE_NAME> (列名 数据类型 [列级约束条件])(列名 数据类型 [列级约束条件])
                           .........
                           [表级完整性约束条件]

常见约束:PRIMARY KEY, UNIQUE, NOT NULL, FOREIGN KEY REFERENCES 等

  • 修改基本表
ALTER TABLE <TABLE_NAME>
[ADD <COLUMN> <NEW_COL_NAME> <DATA_TYPE> <CONSTRAINT>]---新建属性|列
[ADD <TABLE_CONSTRAINT>]----新增表级完整性约束
[DROP <COLUMN> <COL_NAME> [CASCADE|RESTRICT]----删除列|属性
[DROP CONSTRAINT <CONT_NAME> [CASCADE|RESTRICT]----删除完整性约束
[DROP COLUMN <COL_NAME> <DATA_TYPE>]-----修改数据类型
  • 删除基本表
DROP TABLE <TABLE_NAME> [RESTRICT|CASCADE]
3.索引的建立更删改
  • 建立索引
CREATE [UNIQUE|CLUSTER] INDEX <INDEX_NAME>
ON <TABLE_NAME> <COLNAME  ASC|DESC>
                <COLNAME  ASC|DESC>
                <COLNAME  ASC|DESC>
                ...
  • 修改索引
ALTER INDEX <OLDINDEX_NAME> RENAME TO <NEWINDEX_NAME>
  • 删除索引
DROP INDEX <INDEX_NAME>
二.数据查询
SELECT [ALL|DISTINCT] <COL_NAME>,<COL_NAME>,...
FROM <TABLE_NAME | VIEW_NAME>,<TABLE_NAME | VIEW_NAME>,...
[WHERE <CONDITION>]
[GROUP BY <COL_NAME>] [HAVING <CONDITION>]
[ORDER BY <COL_NAME> <DESC | ASC>]

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数据更新

插入数据

INSERT
INTO <TABLE_NAME> <COL_NAME>,<COL_NAME>,...
VALUES (V1,  V2,  V3, ...)

INSERT
INTO <TABLE_NAME> <COL_NAME>,<COL_NAME>,...
子查询

修改数据

UPDATE <TABLE_NAME>
SET <COL_NAME1>=<表达式><COL_NAME2>=<表达式>...
[WHERE <CONDITION>]

删除数据

DELETE
FROM <TABLE_NAME>
[WHERE <CONSITION>]
删除符合条件的元组
视图

建立视图

CREATE VIEW <VIEW_NAME> <COL_NAME>,<COL_NAME>,...
AS
<子查询>
[WITH CHECK OPTION]

删除视图

DROP VIEW <VIEW_NAME> [CASCADE]

查询视图=查询基本表

授权:授予与收回

1.GRANT

GRANT <权限><权限>...
ON [<TYPE><NAME>],[<TYPE><NAME>],...
TO USER1,USER2,...
[WITH GRAND OPTION]

2.REVOKE

REVOKE <权限><权限>...
ON [<TYPE><NAME>],[<TYPE><NAME>],...
FROM USER1,USER2,.... [CASCADE | RESTRICT]

3.创建数据库模式权限

CREATE USER <USERNAME> [WITH DBA|RESOURCE|CONNECT]
数据库角色

创建角色

CREATE ROLE <ROLE_NAME>

授权

GRANT <权限1><权限2>...
ON [<TYPE><NAME>]
TO <ROLE1>,<ROLE2>,...

角色授权其他用户

GRANT  <ROLE1>,<ROLE2>...
TO <ROLE1>,<ROLE2>,...
[WITH ADMIN OPTION]

权限的回收

REVOKE <权限1><权限2>...
ON [<TYPE><NAME>]
FROM <ROLE1>,<ROLE2>,...


#### 触发器

```sql
CREATE TRIGGER <TRIGGER_NAME>
{BEFORE | AFTER} <触发事件> ON <TABLE_NAME>
REFERENCING NEW|OLD ROW AS <变量>
FOR EACH {ROW | STATEMENT}
WHEN(触发条件)
{动作体}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值