创建表
Copy Highlighter-hljs code-theme-dark
| CREATE TABLE <表名>(<列名> <数据类型>[列级完整性约束条件] |
| [,<列名> <数据类型>[列级完整性约束条件]]…); |
列级完整性约束条件有NULL[可为空]、NOT NULL[不为空]、UNIQUE[唯一],可以组合使用,但是不能重复和对立关系同时存在。
Copy Highlighter-hljs code-theme-dark
| |
| CREATE TABLE Student |
| ( |
| Id INT NOT NULL UNIQUE PRIMARY KEY, |
| Name VARCHAR(20) NOT NULL, |
| Age INT NULL, |
| Gender VARCHAR(4) NULL |
| ); |
删除表
Copy Highlighter-hljs code-theme-dark
Copy Highlighter-hljs code-theme-dark
清空表
Copy Highlighter-hljs code-theme-dark
Copy Highlighter-hljs code-theme-dark
修改表
Copy Highlighter-hljs code-theme-dark
| |
| ALTER TABLE <表名> [ADD <新列名> <数据类型>[列级完整性约束条件]] |
| |
| ALTER TABLE <表名> [DROP COLUMN <列名>] |
| |
| ALTER TABLE <表名> [MODIFY COLUMN <列名> <数据类型> [列级完整性约束条件]] |
Copy Highlighter-hljs code-theme-dark
| |
| ALTER TABLE Student ADD Phone VARCHAR(15) NULL; |
| |
| ALTER TABLE Student DROP COLUMN Phone; |
| |
| ALTER TABLE Student MODIFY Phone VARCHAR(13) NULL; |
SQL查询语句
Copy Highlighter-hljs code-theme-dark
| SELECT [ALL|DISTINCT] <目标列表达式>[,<目标列表达式>]… |
| FROM <表名或视图名>[,<表名或视图名>]… |
| [WHERE <条件表达式>] |
| [GROUP BY <列名> [HAVING <条件表达式>]] |
| [ORDER BY <列名> [ASC|DESC]…] |
SQL查询语句的顺序:SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY。SELECT、FROM是必须的,HAVING子句只能与GROUP BY搭配使用。
Copy Highlighter-hljs code-theme-dark
| SELECT * FROM Student |
| WHERE Id>10 |
| GROUP BY Age HAVING AVG(Age) > 20 |
| ORDER BY Id DESC |
SQL插入语句
Copy Highlighter-hljs code-theme-dark
| |
| INSERT INTO <表名> [(字段名[,字段名]…)] VALUES (常量[,常量]…); |
| |
| INSERT INTO <表名> [(字段名[,字段名]…)] SELECT 查询语句; |
Copy Highlighter-hljs code-theme-dark
| |
| INSERT INTO Student (Name,Age,Gender) VALUES ('Andy',30,'女'); |
| |
| INSERT INTO Student (Name,Age,Gender) |
| SELECT Name,Age,Gender FROM Student_T WHERE Id >10; |
SQL更新语句
Copy Highlighter-hljs code-theme-dark
| UPDATE <表名> SET 列名=值表达式[,列名=值表达式…] |
| [WHERE 条件表达式] |
Copy Highlighter-hljs code-theme-dark
| |
| UPDATE Student SET Age= Age+1 WHERE Id>10 AND Id<100 |
SQL删除语句
Copy Highlighter-hljs code-theme-dark
| DELETE FROM <表名> [WHERE 条件表达式] |
Copy Highlighter-hljs code-theme-dark
| |
| DELETE FROM Student WHERE Id<10; |
创建索引
Copy Highlighter-hljs code-theme-dark
| CREATE [UNIQUE] [CLUSTER] INDEX <索引名> ON <表名>(<列名>[<次序>][,<列名>[<次序>]]…); |
UNIQUE:表明此索引的每一个索引值只对应唯一的数据记录
CLUSTER:表明建立的索引是聚集索引
次序:可选ASC(升序)或DESC(降序),默认ASC
Copy Highlighter-hljs code-theme-dark
| |
| CREATE UNIQUE INDEX INDEX_SId ON Student (Id DESC); |
| |
| CREATE UNIQUE INDEX INDEX_SId_SName ON Student (Id DESC,Name DESC); |
删除索引
Copy Highlighter-hljs code-theme-dark
Copy Highlighter-hljs code-theme-dark
创建视图
Copy Highlighter-hljs code-theme-dark
| CREATE VIEW <视图名> |
| AS SELECT 查询子句 |
| [WITH CHECK OPTION] |
查询子句:子查询可以是任何SELECT语句,但是常不允许含有ORDER BY
子句和DISTINCT
短语;
WITH CHECK OPTION:表示对UPDATE、INSERT、DELETE操作时要保证更新。
Copy Highlighter-hljs code-theme-dark
| CREATE VIEW VIEW_Stu_Man |
| AS SELECT * FROM Student WHERE Gender = '男' |
| WITH CHECK OPTION |
删除视图
Copy Highlighter-hljs code-theme-dark
Copy Highlighter-hljs code-theme-dark
SQL的访问控制
访问控制是控制用户的数据存储权限,由DBA来决定。
SQL标准语句包括SELECT、INSERT、UPDATE和DELETE
Copy Highlighter-hljs code-theme-dark
| -- 1.授权 |
| GRANT <权限>[,<权限>]… |
| [ON <对象类型> <对象名>] |
| TO <用户>[,<用户>]… |
| [WITH GRANT OPTION] |
| -- 2.收回授权 |
| REVOKE <权限>[,<权限>]… |
| [ON <对象类型> <对象名>] |
| FROM <用户>[,<用户>]… |
WITH GRANT OPTION:若指定此子句,表示该用户可以将权限赋给其他用户
Copy Highlighter-hljs code-theme-dark
| |
| GRANT SELECT,INSERT,UPDATE ON TABLE TO USER_Admin WITH GRANT OPTION |
| |
| REVOKE SELECT,INSERT,UPDATE ON TABLE FROM USER_Admin |
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Ai满嘴顺口溜,想考研?浪费我几个小时
· Browser-use 详细介绍&使用文档
· 软件产品开发中常见的10个问题及处理方法