简易SQL语句
/*创建 模式 为用户 User1*/
CREATE SCHEMA test authorization User1; CREATE SCHEMA test USER User1; CREATE TABLE student
(
Sno NUMERIC(10) PRIMARY KEY //主键
CONSTRAINT c1 CHECK(Sno BETWEEN 90000 AND 99999), Sname CHAR(20) NOT NULL UNIQUE, //取唯一值 Sage NUMERIC(3)
CONSTRAINT c3 CHECK(Sage<30), Ssex CHAR(2)
CONSTRAINT c4 CHECK (Ssex IN ('男','女')), ); CREATE TABLE sc
(
Sno CHAR(10),
Cno CHAR(10),
Grade SMALLINT CHECK (Grade>=0 AND Grade <= 100), /*当主码是属性集合时使用 主码为表级完整性约束条件*/
PRIMARY KEY(Sno,Cno), /*外键 字符长度需相同 表级完整性约束条件1*/
FOREIGN KEY (Sno) REFERENCES student(Sno),
FOREIGN KEY (Cno) REFERENCES course(Cno) ); DROP TABLE student RESTRICT; /*联级删除*/
DROP TABLE student CASCADE; /*不是联级删除*/ /* 更改表 */
ALTER TABLE student
ADD COLUMN <新列名> <数据类型>[完整性约束]
ADD <表级完整性约束>
DROP [COLUMN] <列名> [CASCADE|RESTRICT]
DROP CONSTRAINT <完整性约束名> [RESTRICT|CASCADE] ALTER COLUMN <列名><数据类型> /* 查询 */ SELECT DISTINCT Sno /* distinct 表示消除查询出来的重复元组*/
FROM sc;
WHERE Sno = ''; SELECT Sname,Ssex /*查询不是,,*/
FROM student
WHERE Sdept NOT IN('CS','MA','IS'); /*
% 表示任意长度字符
_(下横线)表示任意单个字符
ESCAPE'\'为换码字符 紧跟在后面的通配符可转为普通字符
*/
SELECT *
FROM course
WHERE Cname LIKE 'DB\_%i' ; /*
子查询的select中不能使用order by 字句,
order by 只能对最终的查询结果排序
*/
SELECT *
FROM student
ORDER BY Sage ASC;/*升序排序*/
SELECT *
FROM student
ORDER BY Sage DESC;/*降序排序*/ /*
聚集函数 count(列名) avg() max() min()sum()
*/ /*
分组查询
查询选修了三门以上课程的学生学号
having 语句作用于组 从中选择满足条件的组
*/
SELECT Cno
FROM sc
GROUP BY Sno
HAVING COUNT(*)>3; SELECT first.Cno,second.Cpno
FROM course FIRST, course SECOND
WHERE first.Cpno = second.Cno; /*取别名*/ /*左外连接*/
SELECT student.Sno
/*左外连接 可去除重复值*/
SELECT student.`Sno`
FROM student LEFT OUTER JOIN sc USING (Sno); /*
如果子查询的结果依赖于父查询 这类子查询称为相关子查询 */ /*
EXISTS 代表存在量词 带有EXISTS谓词的子查询不返回任何数据,只产生逻辑真值true 或逻辑假值false
*/ /*
集合查询 :并操作 UNION 交操作 INTERSECT 差操作 EXCEPT
*/ /*
数据更新
*/
UPDATE student
SET Grade = 0
WHERE Sno IN(
SELECT Sno
FROM student
WHERE Sdept = 'cs'
);
/*
数据元组删除
*/
delect
FROM student
WHERE Sno = '';
/*
数据插入
*/
INSERT
INTO sc(Sno,Cno,Grade)
VALUES ('','',NULL); /*
索引的操作
*/ CREATE UNIQUE [cluster] INDEX S1 ON student(Sno ASC); /*升序建立索引*/ ALTER INDEX <旧索引名> RENAME TO <新索引名>; /*改名*/ DROP INDEX <索引名>; /*删除*/ /* 视图操作
create view
drop view
update........set.......where
insert into ... values...
delete from ... where... */ CREATE VIEW <视图名> [<列名>,<列名>]
AS <子查询>
[WITH CHECK OPTION]; /* 用户权限操作 */ GRANT <权限>,<权限>
ON <对象类型>,<对象名>
TO <用户>,<用户>
[WITH GRANT OPTION]; REVOKE <权限>,<权限>
ON <对象类型>,<对象名>
FROM <用户>,<用户>
[CASCADE|RESTRICT];
简易SQL语句的更多相关文章
- SQL语句执行效率及分析(note)
1.关于SQL查询效率,100w数据,查询只要1秒,与您分享: 机器情况p4: 2.4内存: 1 Gos: windows 2003数据库: ms sql server 2000目的: 查询性能测试, ...
- SQL语句学习手册实例版
SQL语句学习手册实例版 表操作 例1 对于表的教学管理数据库中的表 STUDENTS ,可以定义如下: CREATE TABLE STUDENTS (SNO NUMERIC (6, ...
- SQL语句实例集合
SQL语句实例 表操作 例 1 对于表的教学管理数据库中的表 STUDENTS ,可以定义如下: CREATE TABLE STUDENTS (SNO NUMERIC (6, ...
- sql语句去重 最后部分没看 看1 有用
一 数据库 1.常问数据库查询.修改(SQL查询包含筛选查询.聚合查询和链接查询和优化问题,手写SQL语句,例如四个球队比赛,用SQL显示所有比赛组合:举例2:选择重复项,然后去掉重复项:) 数据库里 ...
- 面试题: !=!=未看12 略多 sql语句练习 非常 有用
JAVA面试总结 2015年03月25日 16:53:40 阅读数:4306 刚才看到的,先转载过来,没准以后用到…… 面试总结 2013年8月6日: 问题2:Hibernate的核心接口有哪些? ...
- Java 实现对Sql语句解析
原文地址:http://www.cnblogs.com/zcftech/archive/2013/06/10/3131286.html 最近要实现一个简易的数据库系统,除了要考虑如何高效的存储和访问数 ...
- 个人永久性免费-Excel催化剂功能第21波-Excel与Sqlserver零门槛交互-执行SQL语句篇
在前两波中,已完成了Excel与Sqlserver的查询和上传功能,但难免许多临时的或更深入地操作数据库需要用Sql语句来操作,对一般用户电脑里,不可能有条件轻易安装一个数据库客户端软件,就算安装了对 ...
- mysql学习之 sql语句的技巧及优化
一.sql中使用正则表达式 select name,email from user where email Regexp "@163[.,]com$"; sql语句中使用Regex ...
- 一条Sql语句分组排序并且限制显示的数据条数
如果我想得到这样一个结果集:分组排序,并且每组限定记录集的数量,用一条SQL语句能办到吗? 比如说,我想找出学生期末考试中,每科的前3名,并按成绩排序,只用一条SQL语句,该怎么写? 表[TScore ...
随机推荐
- BZOJ1925 [Sdoi2010]地精部落 【dp】
题目 传说很久以前,大地上居住着一种神秘的生物:地精. 地精喜欢住在连绵不绝的山脉中.具体地说,一座长度为 N 的山脉 H可分 为从左到右的 N 段,每段有一个独一无二的高度 Hi,其中Hi是1到N ...
- spring 如何动态加载properties文件的内容
1. 在xml中配置你的properties路径: <bean id="messageSource" class="org.springframework.cont ...
- 【前端学习笔记】ajax与php之间的互动
ajax通常会牵扯到跨域问题,所以我们通常的解决方案是,通过ajax将参数传到后台php文件中 在后台通过php文件进行跨域访问api,再将结果返回到ajax响应中.需要注意一下几点: 1.可以通过& ...
- redmine与SVN的Https方式整合问题
尼玛啊!这个SVN的整合搞了一晚上,今天早上终于搞定了,FUCK!!! 进入话题: 可以先在bitnami redmine stack的命令行环境下手工运行svn,看是否能取到数据, svn list ...
- leetcode 331. Verify Preorder Serialization of a Binary Tree
传送门 331. Verify Preorder Serialization of a Binary Tree My Submissions QuestionEditorial Solution To ...
- hdu 4587 2013南京邀请赛B题/ / 求割点后连通分量数变形。
题意:求一个无向图的,去掉两个不同的点后最多有几个连通分量. 思路:枚举每个点,假设去掉该点,然后对图求割点后连通分量数,更新最大的即可.算法相对简单,但是注意几个细节: 1:原图可能不连通. 2:有 ...
- C#中值类型和引用类型的差别浅记
C#中值类型和引用类型的差别浅记 在C#中,变量的类型分为两种.各自是值类型和引用类型. 值类型的变量直接存储值,说得更详细一些,就是值类型变量在内存中直接存储它们自身 ...
- POJ 题目3450 Corporate Identity(KMP 暴力)
Corporate Identity Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 5493 Accepted: 201 ...
- 跟着实例学习设计模式(7)-原型模式prototype(创建型)
原型模式是创建型模式. 设计意图:用原型实例指定创建对象的类型,并通过拷贝这个原型来创建新的对象. 我们使用构建简历的样例的类图来说明原型模式. 类图: 原型模式主要用于对象的复制.它的核心是就是类图 ...
- A002-开发工具介绍
关于Android的开发工具有非常多,基本上都能够在SDK中找到.下面我们逐个来看一下: 首先我们使用的是Java语言进行Android应用的开发,那么Java的执行环境是少不了的了,我们须要在我们的 ...