文档章节

【63】关系数据库常用的sql语句总结

fengsehng
 fengsehng
发布于 2016/11/09 09:15
字数 1049
阅读 3
收藏 0

创建表

语法

CREATE TABLE <表名>(<列名> <数据类型>[列级完整性约束条件]
                  [,<列名> <数据类型>[列级完整性约束条件]]…);

列级完整性约束条件有NULL[可为空]、NOT NULL[不为空]、UNIQUE[唯一],可以组合使用,但是不能重复和对立关系同时存在。

示例

 创建学生表
CREATE TABLE Student ( Id INT NOT NULL UNIQUE PRIMARY KEY, Name VARCHAR(20) NOT NULL, Age INT NULL, Gender VARCHAR(4) NULL );

删除表

语法

DROP TABLE <表名>;

示例

删除学生表

DROP TABLE Student;

清空表

语法

TRUNCATE TABLE <表名>;
示例
-- 删除学生表
TRUNCATE TABLE Student;

修改表

语法

 添加列
ALERT TABLE <表名> [ADD <新列名> <数据类型>[列级完整性约束条件]]
-- 删除列
ALERT TABLE <表名> [DROP COLUMN <列名>]
-- 修改列
ALERT TABLE <表名> [MODIFY COLUMN <列名> <数据类型> [列级完整性约束条件]]

示例

添加学生表`Phone`列
ALERT TABLE Student ADD Phone VARCHAR(15) NULL;
-- 删除学生表`Phone`列
ALERT TABLE Student DROP COLUMN Phone;
-- 修改学生表`Phone`列
ALERT TABLE Student MODIFY Phone VARCHAR(13) NULL;

SQL查询语句

语法

SELECT [ALL|DISTINCT] <目标列表达式>[,<目标列表达式>]… FROM <表名或视图名>[,<表名或视图名>]… [WHERE <条件表达式>] [GROUP BY <列名> [HAVING <条件表达式>]] [ORDER BY <列名> [ASC|DESC]…] SQL查询语句的顺序:SELECTFROMWHEREGROUP BYHAVINGORDER BYSELECTFROM是必须的,HAVING子句只能与GROUP BY搭配使用。

示例

SELECT * FROM Student WHERE Id>10 GROUP BY Age HAVING AVG(Age) > 20 ORDER BY Id DESC

SQL插入语句

语法

 插入不存在的数据
INSERT INTO <表名> [(字段名[,字段名]…)] VALUES (常量[,常量]…);
-- 将查询的数据插入到数据表中
INSERT INTO <表名> [(字段名[,字段名]…)] SELECT 查询语句;

示例

插入不存在的数据
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更新语句

语法
UPDATE <表名> SET 列名=值表达式[,列名=值表达式…] [WHERE 条件表达式]

示例

 将Id在(10,100)的Age加1
UPDATE Student SET Age= Age+1 WHERE Id>10 AND Id<100

SQL删除语句

语法
DELETE FROM <表名> [WHERE 条件表达式]
示例
-- 删除Id小于10的数据记录
DELETE FROM Student WHERE Id<10;

创建索引

语法
CREATE [UNIQUE] [CLUSTER] INDEX <索引名> ON <表名>(<列名>[<次序>][,<列名>[<次序>]]…);
UNIQUE:表明此索引的每一个索引值只对应唯一的数据记录
CLUSTER:表明建立的索引是聚集索引
次序:可选ASC(升序)或DESC(降序),默认ASC

示例

 建立学生表索引:单一字段Id索引倒序
CREATE UNIQUE INDEX INDEX_SId ON Student (Id DESC);
-- 建立学生表索引:多个字段Id、Name索引倒序
CREATE UNIQUE INDEX INDEX_SId_SName ON Student (Id DESC,Name DESC);

删除索引

语法
DROP INDEX <索引名>;
示例
-- 删除学生表索引 INDEX_SId
DROP INDEX INDEX_SId;

创建视图

语法
CREATE VIEW <视图名> AS SELECT 查询子句 [WITH CHECK OPTION] 查询子句:子查询可以是任何SELECT语句,但是常不允许含有ORDER BY子句和DISTINCT短语; WITH CHECK OPTION:表示对UPDATEINSERTDELETE操作时要保证更新。 示例 CREATE VIEW VIEW_Stu_Man AS SELECT * FROM Student WHERE Gender = '男' WITH CHECK OPTION

删除视图

语法
DROP VIEW <视图名>;
示例
DROP VIEW VIEW_Stu_Man;

SQL的访问控制

访问控制是控制用户的数据存储权限,由DBA来决定。
SQL标准语句包括SELECT、INSERT、UPDATE和DELETE

语法

- 1.授权

GRANT <权限>[,<权限>]…
  [ON <对象类型> <对象名>]
  TO <用户>[,<用户>]…
  [WITH GRANT OPTION]

-

- 2.收回授权

REVOKE <权限>[,<权限>]…
  [ON <对象类型> <对象名>]
  FROM <用户>[,<用户>]…
WITH GRANT OPTION:若指定此子句,表示该用户可以将权限赋给其他用户
示例
-- 授权
GRANT SELECT,INSERT,UPDATE ON TABLE TO USER_Admin WITH GRANT OPTION
-- 收回授权
REVOKE SELECT,INSERT,UPDATE ON TABLE FROM USER_Admin

常用高级语法笔记

if…eles

这里写图片描述

分页

这里写图片描述

连接:

这里写图片描述

我的微信二维码如下,欢迎交流讨论

这里写图片描述

欢迎关注《IT面试题汇总》微信订阅号。每天推送经典面试题和面试心得技巧,都是干货!

微信订阅号二维码如下:

这里写图片描述

参考:
http://www.jianshu.com/p/e47f0e82b127
http://www.imooc.com/article/1415

© 著作权归作者所有

共有 人打赏支持
fengsehng
粉丝 4
博文 284
码字总数 214494
作品 0
朝阳
程序员
私信 提问
SQL 常用优化手段总结 - 小技巧

中国有句古话叫做:欲速则不达。在一口气学完了分析 SQL 语句的一般步骤与索引的正确运用方式后小憩片刻。搭配上红茶与白兰地轻松享用下面这些小技巧吧! 系列文章回顾 SQL 常用优化手段总结...

给你添麻烦了
01/10
0
0
【mybatis学习】--mapper.xml中常用的标签积累

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/YYZZHC999/article/details/82319305 一· 常用标签组示例: 二、部分标签总结 1.sql片段标签: 通过该标签可...

Hepburn_Yang
09/02
0
0
Django查询优化之select_related和prefetch_related

一、select_related查询优化 select_related通过多表join关联查询,一次性获得所有数据,通过降低数据库查询次数来提升性能,但关联表不能太多,因为join操作本来就比较消耗性能。本文通过D...

daibaiyang119
2017/10/30
0
0
Mybatis总结

什么是Mybatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。iBATIS一词来源于“internet”和“abatis”...

u013043341
2017/07/30
0
0
SQL 常用优化手段总结 - 索引的使用误区

回顾上一章索引的应用的内容,除了介绍了基本的使用索引优化 sql 语句的基本手法以外,还提到了滥用索引会引起性能恶化的问题。本章节的内容将会举例说明哪些场景的索引属于滥用,以及如何避...

给你添麻烦了
01/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

day149-2018-11-16-英语流利阅读-待学习

抖音登陆海外市场,歪果仁作何反应? Lala 2018-11-16 1.今日导读 抖音在国内已经火了有一段时间了,但你知道它已经进军海外,而且火了一把吗?中国版抖音的宣传语是“记录美好生活”,但外国...

飞鱼说编程
12分钟前
1
0
Confluence 6 教程:在 Confluence 中导航

当你对 Confluence 有所了解后,你会发现 Confluence 使用起来非常简单。这个教程主要是针对你使用的 Confluence 界面进行一些说明,同时向你展示在那里可以进行一些通用的任务和操作。 空间...

honeymose
今天
2
0
sed, awk 练习

1. sed打印某行到某行之间的内容 2. sed 转换大小写 将单词首字母转化大写 将所有小写转化大写 3. sed 在某一行最后面添加一个数字 4. 删除某行到最后一行 解析: {:a;N;$!ba;d} :a : 是...

Fc丶
今天
2
0
babel6升级到7,jest-babel报错:Requires Babel "^7.0.0-0", but was loaded with "6.26.3".

自从将前端环境更新到babel7,jest-babel之前是基于babel6的,执行时候就会报:Requires Babel "^7.0.0-0", but was loaded with "6.26.3". 很烦,因为连续帮好几台电脑修复这个问题,所以记...

曾建凯
今天
1
0
探索802.11ax

802.11ax承诺在真实条件下改善峰值性能和最差情况。 如何改善今天的Wi-Fi? 在决定如何改进当前版本以外的Wi-Fi时,802.11ac,IEEE和Wi-Fi联盟调查了Wi-Fi部署和行为,以确定更广泛使用的障碍...

linuxprobe16
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部