/*创建 模式 为用户 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语句的更多相关文章

  1. SQL语句执行效率及分析(note)

    1.关于SQL查询效率,100w数据,查询只要1秒,与您分享: 机器情况p4: 2.4内存: 1 Gos: windows 2003数据库: ms sql server 2000目的: 查询性能测试, ...

  2. SQL语句学习手册实例版

    SQL语句学习手册实例版 表操作 例1  对于表的教学管理数据库中的表 STUDENTS ,可以定义如下: CREATE  TABLE  STUDENTS (SNO      NUMERIC (6, ...

  3. SQL语句实例集合

    SQL语句实例 表操作     例 1  对于表的教学管理数据库中的表 STUDENTS ,可以定义如下: CREATE  TABLE  STUDENTS (SNO      NUMERIC (6, ...

  4. sql语句去重 最后部分没看 看1 有用

    一 数据库 1.常问数据库查询.修改(SQL查询包含筛选查询.聚合查询和链接查询和优化问题,手写SQL语句,例如四个球队比赛,用SQL显示所有比赛组合:举例2:选择重复项,然后去掉重复项:) 数据库里 ...

  5. 面试题: !=!=未看12 略多 sql语句练习 非常 有用

    JAVA面试总结 2015年03月25日 16:53:40 阅读数:4306 刚才看到的,先转载过来,没准以后用到…… 面试总结 2013年8月6日: 问题2:Hibernate的核心接口有哪些?   ...

  6. Java 实现对Sql语句解析

    原文地址:http://www.cnblogs.com/zcftech/archive/2013/06/10/3131286.html 最近要实现一个简易的数据库系统,除了要考虑如何高效的存储和访问数 ...

  7. 个人永久性免费-Excel催化剂功能第21波-Excel与Sqlserver零门槛交互-执行SQL语句篇

    在前两波中,已完成了Excel与Sqlserver的查询和上传功能,但难免许多临时的或更深入地操作数据库需要用Sql语句来操作,对一般用户电脑里,不可能有条件轻易安装一个数据库客户端软件,就算安装了对 ...

  8. mysql学习之 sql语句的技巧及优化

    一.sql中使用正则表达式 select name,email from user where email Regexp "@163[.,]com$"; sql语句中使用Regex ...

  9. 一条Sql语句分组排序并且限制显示的数据条数

    如果我想得到这样一个结果集:分组排序,并且每组限定记录集的数量,用一条SQL语句能办到吗? 比如说,我想找出学生期末考试中,每科的前3名,并按成绩排序,只用一条SQL语句,该怎么写? 表[TScore ...

随机推荐

  1. HackerRank# Red John is Back

    原题地址 简单动归+素数判定,没用筛法也能过 代码: #include <cmath> #include <cstdio> #include <vector> #i ...

  2. Hibernate get 和 load区别

    Session.load/get方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象.下边详细说一下get和load的不同,因为有些时候为了对比也会把find加进来. 1.从返回 ...

  3. [ZJOI2005]午餐 (贪心,动态规划)

    题目描述 上午的训练结束了,THU ACM小组集体去吃午餐,他们一行N人来到了著名的十食堂.这里有两个打饭的窗口,每个窗口同一时刻只能给一个人打饭.由于每个人的口味(以及胃口)不同,所以他们要吃的菜各 ...

  4. leetcode 319 灯泡问题

    例子:1-9 1的因子1 2       1,2 3        1,,3 4        1,2,4 5        1,5 6        1,2,3,6 7        1,7 8   ...

  5. (25)python urllib库

    urllib包包含4个模块,在python3里urllib导入要用包名加模块名的方式. 1.urllib.request 该模块主要用于打开HTTP协议的URL import urllib.reque ...

  6. CODEVS_1074 食物链

    #include<iostream> #include<algorithm> #include<cstring> #include<string> #d ...

  7. 8.Java web—JSP基本语法

    1)脚本标识 <%-- <%@这两都之间不能为空格 ,但page前面可以任意空格 --%> <%@ page language="java" content ...

  8. HeatMap(热图)的原理和实现

    先来看两张图: (1)10年世界杯决赛,冠军西班牙队中门将.后卫.中场及前锋的跑位热图 通过热图,我们可以很清楚的看出四个球员在比赛中跑动位置的差异. (2)历史地震震源位置的热图 也可以很清楚的看出 ...

  9. windows10 開機失敗,且按F8無法進入安全模式

    windows10 開機失敗,且按F8無法進入安全模式: 在cmd視窗下: bcdedit set {default} bootmenupolicy legacy 重啟,再按F8試一試吧! To En ...

  10. 【Android小项目】找不同,改编自&quot;寻找房祖名&quot;的一款开源小应用。

    近期在微信朋友圈"寻找房祖名"和"万里寻刀"这类小游戏比較火.我试着写了一个android版本号的,里面全是一系列的形近字,实现原理非常easy:用一个Grid ...