创建模式
 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. 常look的Git命令

    常用的Git命令   命令  简要说明 git add 添加至暂存区 git add–interactive 交互式添加 git apply   应用补丁 git am  应用邮件格式补丁 git a ...

  2. 并发包的线程池第一篇--ThreadPoolExecutor执行逻辑

    学习这个很长时间了一直没有去做个总结,现在大致总结一下并发包的线程池. 首先,任何代码都是解决问题的,线程池解决什么问题? 如果我们不用线程池,每次需要跑一个线程的时候自己new一个,会导致几个问题: ...

  3. celery使用方法

    1.celery4.0以上不支持windows,用pip安装celery 2.启动redis-server.exe服务 3.编辑运行celery_blog2.py !/usr/bin/python c ...

  4. Beta版本冲刺第五天

    Aruba 408 409 410 428 429 431 完成任务: 数据库对于分类新建/删除的更新 调整图片再编辑界面的合适大小 调整常驻通知栏按钮的跳转逻辑 微调数据库 立会照片: 燃尽图: c ...

  5. asp.net mvc bootstrap datatable 服务端分页

    datatable 服务端分页 因项目需求变动,需处理大量数据,更改成服务端分页,自己两天的学习笔记 先上图[ jqueryui风格] 前端代码: @{ Layout = null;} <!DO ...

  6. 网页上获取的元素值,为什么类型,string

    <body> <input type="text" value='9'/><input type="text" value='30 ...

  7. 分页(thinkphp5.0版本)

    一.简洁分页(不含页码,只能翻阅上下页) 控制器部分代码: $pagesize=15;//每页显示15条数据 $data = Db::name('db')->where(array('key'= ...

  8. Caffe学习

    将binaryproto转为npy import caffe % suppose caffe is already in the path of Python import numpy as np i ...

  9. Linux下oracle数据库启动和关闭操作

    第一步:登陆 root登陆之后切换到oracle用户上,输入 su oracle 第二步:连接 在oracle用户下,输入 sqlplus /nolog 第三步:使用管理员权限 输入 connect ...

  10. 微软unity 注入mvc

    首先获取开源unity ,引用, 新建UnityDependencyResolver 继承IDependencyResolver,代码如下: public class UnityDependencyR ...