创建模式
 create schema <schema_name> authorization <username> 没有指定schema_name时默认是用户名

 删除模式
 drop schema <schema_name> <cascade | restrict>

 创建表
 create table student.sc            ;定义表中的两个主码以及外码
 (sno ),
 cno ),
 grade smallint,
 primary key(sno, cno),
 foreign key sno references student(sno),
 foreign key sno references course(cno)
 );                    /*最后一行没有逗号,外码引用的必须是主码*/

 修改表
 alter table <table_name>
 [ add <新列名> <数据类型> [完整性约束] ]
 [ drop [完整性约束名] [列名] ]
 [ modify <列名> <数据类型> ];

 删除表

 drop table <表名>;

 创建索引
 create [unique] [cluster] index <索引名>
 on <表名>( <列名> [ <次序> ] [, <列名> [ <次序> ] ] ....);

 删除索引
 drop index <索引名>

 插入元组
 insert
 into <表名> [ ( <属性列1> [, <属性列2>...] ) ]
 values ( <常量1> [, <常量2>] ... )

 insert into sc(sno,cno)
 ')

 修改元组
 update <表名>
 set <列名> = <表达式> [, <列名> = <表达式> ]...
 [where <条件>];

 update student

 '

 删除元组
 delete
 from <表名>
 [where <条件> ];

 delete
 from student
 '

 使用视图创建语句建视图,通过视图查询数据:
 create view <视图名> [(<列名>[,<列名>]...)]            ;列名要么全部指定,要么全部不指定
 as
 <子查询>
 [with check option];

 drop view <视图名>;

 创建用户
 create user <username> [with] [DBA | RESOURCE | CONNECT];
 create user  zx_root   IDENTIFIED by 'xxxxx@localhost';

 删除用户
 drop user <username>;

 授权
 grant <权限> [,<权限> ]...                    ;all privileges, select, update, insert, delete
 on <对象类型> <对象名> [,<对象类型> <对象名>]...
 to <用户> [,<用户>]...                        ;public
 [with grant option];

 grant all privileges
 on table student, course
 to u2, u3;

 grant update(sno)
 on table student
 to u4;

 grant insert
 on table sc
 to u5
 with grant option

 回收授权
 revoke <权限>[,<权限>]...
 on <对象类型> <对象名> [,<对象类型> <对象名>]...
 from <用户> [,<用户>]...

 revoke select
 on table sc
 from public

 创建角色
 create role <rolename>

 给角色授权
 grant <权限> [,<权限>]...
 on <对象类型> <对象名>
 to <角色> [,<角色>]...

 grant <角色1> [,<角色2>]...
 to <角色3> [,<角色4>]...
 [with admin option]

 收回角色权限
 revoke <权限> [,<权限>]...
 on <对象类型> <对象名>
 from <角色> [,<角色>]...

 create role r1;

 grant select, update, insert
 on table student
 to r1;

 grant r1
 to 王平,张明

 revoke select
 on table student
 from r1;

 审计

 audit alert,update
 on sc;

 noaudit all
 on sc;

 实体完整性
 primary key(sno,cno);

 参照完整性
 foreign key sno reference student(sno);

 用户定义完整性
 create table sc
 (sno ) not null,
 cno ) not null,
 grade smallint not null,);

 create table dept
 (deptno number,
 dname ) unique,
 );

 create table student
 (sno ) primary key,
 ssex ) check (ssex in ('男','女')),);

 表级用户定义完整性
 check (ssex = '女' or sname not like 'ms.%' );            /*男性名字不能以ms.开头*/

 完整性约束命名子句
 constraint <完整性约束条件名> [primary key短语 | foreign key 短语 | check 短语]

 create stable student
 (sno )
      ),
 sname )
     constraint c2 not null,
 sage )
     ),
 ssex )
     constraint c4 check (ssex in ('男','女'),
 constraint studentKey primary key(sno),
 );

 alter table student
 drop constraint c4;

 alter table student
 add constraint c4 check (ssex in ('男','女'));

 域中完整性限制
 )
 constraint gd check (value in ('男','女'));

 alter domain genderdomain
 '));

 alter domain genderdomain
 drop constraint gd;

 查询
 seletct [ all | distinct ] <目标列表达式> [, <目标列表达式> ]...
 from <表名或视图名> [, <表名或视图名> ]...
 [ where <条件表达式> ]
 [ group by <列名1> [ having <条件表达式> ] ]
 [ order by <列名2> [ asc | desc ] ]

 表单查询

 -sage year
 from student

 select sname, sdept, sage
 from student
          /*not between and*/

 select sname, ssex
 from student
 where sdept in ('cs','ma','is')     /*not in*/

 select *
 from student
 where sno like '2002%21'            /*%任意多个字符,_单个字符, [ escape '\' ] 表示'\'为换码字符,not like */

 select sno,cno
 from sc
 where grade is null            /*is not*/

 select sno,grade
 from sc
 '
 order by grade desc,sno

 select cno, count( distinct sno )
 from sc
 group by cno

 连接查询,嵌套查询

 select sname
 from student
             /*or, not*/

 select first.cno, second.cpno
 from course first, course second
 where first.cpno = second.cno                /*<>是不等于*/

 select sname
 from student
 where sno in
     (select sno
     from sc
     ' );

 select sno,cno
 from sc x
 where grade >=
     (select avg(grade)
     from sc y
     where y.sno = x.sno);

 select sname,sage
 from student
 where sage < any
     (select sage
     from student
     where sdept = 'cs');            /*all*/

 select sname
 from student
 where not exists
     (select *
     from course
     where not exists
         (select *
         from sc
         where sno = student.sno
         and    cno = course.cno ));            /*not exists 没有*/

 集合查询:

 select *
 from student
 where sdept='cs'
 union
 select *
 from student
 ;

 select *
 from student
 where sdept='cs'
 intersect
 select *
 from student
 ;

 select *
 from student
 where sdept='cs'
 except
 select *
 from student
 ;

 数据类型
 char(n)                长度为n的定长字符串
 varchar(n)                最大长度为n的可变字符串
 int                    长整形,可写作integer
 smallint                短整形
 numberic(p,d)            定点数,有p位数字(不包括符号,小数点)组成,小数点后有d位小数
 real                    取决于机器精度的浮点数
 double precision            取决于机器精度的双精度浮点数
 float(n)                浮点数,精度至少为n为数字
 date                    日期,YYYY-MM-DD
 time                    时间,HH:MM:SS

 小问题

 "=" 两边可以没有空格

 实例:

 create DataBase SpjDB
 on (name=spj_dat,
 filename='D:\Sql_Server\spj_data.mdf',
 size=10mb)
 log
 on (name=spj_log,
 filename='D:\Sql_Server\spj_log.ldf',
 size=3mb)

 Create table S
 (SNO ) primary key,
 SNAME ),
 STATUS smallint,
 CITY ))

 insert into s
 ','天津');

 insert into s
 ','北京');

 Create table p
 (PNO ) primary key,
 PNAME ),
 COLOR ),
 WEIGHT smallint)

 insert into P
 ');
 insert into P
 ');
 insert into P

 Create table J
 (JNO ) primary key,
 PNAME ),
 CITY ))

 insert into J
 values('J1','三建','北京');
 insert into J
 values('J2','一汽','长春');
 insert into J

 Create table SPJ
 (SNO ),
 PNO ),
 JNO ),
 QTY smallint)

 insert into SPJ
 ');
 insert into SPJ
 ');
  

SQL 基础的更多相关文章

  1. <三> SQL 基础

    SQL查询的一般形式,以及被逻辑处理的顺序 (8) select (9) distinct (11) <TOP_specification> <select_list> (1) ...

  2. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

  3. Oracle知识梳理(三)操作篇:SQL基础操作汇总

    Oracle知识梳理(三)操作篇:SQL基础操作汇总 一.表操作 1.表的创建(CREATE TABLE): 基本语句格式:       CREATE TABLE  table_name ( col_ ...

  4. ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段

    ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...

  5. 数据库整理(三) SQL基础

    数据库整理(三) SQL基础 SQL语言的特点 集数据定义语言(DDL),数据操纵语言(DML),数据控制语言(DCL)功能于一体. 可以独立完成数据库生命周期中的全部活动: ​ ●定义和修改.删除关 ...

  6. 第三章 - SQL基础及元数据获取

    SQL的介绍 SQL的定义:结构化查询语句 SQL的作用:对库和表进行操作 SQL的常用分类 DDL 数据定义语言(Data Definition Language) DCL 数据控制语言(Data ...

  7. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

  8. [SQL] SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

  9. [SQL] SQL 基础知识梳理(四) - 数据更新

    SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...

  10. [SQL] SQL 基础知识梳理(五) - 复杂查询

    SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...

随机推荐

  1. visual studio 2013 使用域名调试本地项目

    一.在localhost添加需要指定的域名,如:test.domain.com 二.以管理员身份启动VS,并打开项目 三.修改IIS Express的配置文件(一般位于:C:\Users\当前用户\D ...

  2. LINQ取复杂列表

    class Program { public class Order { public int ID { get; set; } public string OrderNo { get; set; } ...

  3. 下拉框-ComboBox

    <ComboBox Name="cbBox" SelectionChanged="cbBox_SelectionChanged"></Comb ...

  4. Apache报错信息之Invalid command 'Order', perhaps misspelled or defined by a module not included in the server config

    今天配置开启Apache虚拟主机时, 然后日志报错提示: Invalid command 'Order', perhaps misspelled or defined by a module not ...

  5. JavaScript中---作用域

    作用域: 变量还有函数作用的范围. 浏览器的内核主要有两大功能,一个是渲染页面,另一个就是我们的JavaScript的解释器了. 我们主要来说说JavaScript解释器,在解析时是怎么样的工作原理. ...

  6. BZOJ 4205: 卡牌配对

    4205: 卡牌配对 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 173  Solved: 76[Submit][Status][Discuss] ...

  7. iOS10权限设置问题以及xcdoe8更新细节问题

    <key>NSVideoSubscriberAccountUsageDescription</key> <string></string> <ke ...

  8. ionic 获取手机所在位置

    之前项目中需要使用到定位功能,前边的文章提到的坐标位置是有问题的,是国际坐标,国内的环境使用google地图会出现问题,所以需要使用国内的地图进行坐标解析,因为国内和国外的坐标体系不一致,需要通过转换 ...

  9. JS-自制提速小工具:开发页面时需要按比例计算宽高值的快速计算器

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <meta name= ...

  10. qrcode 生成验证码带文字

    /** * 生成二维码 * * @param int $id * @param string $file * @param boolean $is_download */public function ...