SQL 基础
创建模式 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 基础的更多相关文章
- <三> SQL 基础
SQL查询的一般形式,以及被逻辑处理的顺序 (8) select (9) distinct (11) <TOP_specification> <select_list> (1) ...
- [SQL] SQL 基础知识梳理(三) - 聚合和排序
SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...
- Oracle知识梳理(三)操作篇:SQL基础操作汇总
Oracle知识梳理(三)操作篇:SQL基础操作汇总 一.表操作 1.表的创建(CREATE TABLE): 基本语句格式: CREATE TABLE table_name ( col_ ...
- 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 ...
- 数据库整理(三) SQL基础
数据库整理(三) SQL基础 SQL语言的特点 集数据定义语言(DDL),数据操纵语言(DML),数据控制语言(DCL)功能于一体. 可以独立完成数据库生命周期中的全部活动: ●定义和修改.删除关 ...
- 第三章 - SQL基础及元数据获取
SQL的介绍 SQL的定义:结构化查询语句 SQL的作用:对库和表进行操作 SQL的常用分类 DDL 数据定义语言(Data Definition Language) DCL 数据控制语言(Data ...
- [SQL] SQL 基础知识梳理(一)- 数据库与 SQL
SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...
- [SQL] SQL 基础知识梳理(二) - 查询基础
SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(四) - 数据更新
SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(五) - 复杂查询
SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...
随机推荐
- MVC项目中,如何访问Views目录下的静态文件!
<!--注意,是system.webServer节点,而非system.web--><system.webServer> <handlers> <add na ...
- C#笔记
关键字: 1.internal 被 internal 修饰的东西只能在本程序集(当前项目)内被使用. 注意事项: 1.解决c#代码引用c/c++代码出现的unsafe code错误警告提示 Unsaf ...
- ASP.NET web.config中的连接字符串
在ASP.NET的web.config中,可以用两种方式来写连接字符串的配置. <configuration> <appSettings> <add key=" ...
- 从linux0.11中起动部分代码看汇编调用c语言函数
上一篇分析了c语言的函数调用栈情况,知道了c语言的函数调用机制后,我们来看一下,linux0.11中起动部分的代码是如何从汇编跳入c语言函数的.在LINUX 0.11中的head.s文件中会看到如下一 ...
- px和em,rem的区别
1.px是你屏幕设备物理上能显示出的最小的一个点,这个点不是固定宽度的,不同设备上点的长宽.比例有可能会不同.假设:你现在用的显示器上1px宽=1毫米,但我用的显示器1px宽=两毫米,那么你定义一个d ...
- RocketMQ原理解析-NameServer
Namesrv名称服务,是没有状态可集群横向扩展. 1. 每个broker启动的时候会向namesrv注册 2. Producer发送消息的时候根据topic获取路由到broker的信息 3. Con ...
- Yii2.0 对的一些简单的操作
1: 此方法返回 ['name' => 'daxia'] 的所有数据: User::find()->where(['name' => 'daxia'])->all(); 2: ...
- win7系统的右键菜单只显示一个白色框不显示菜单项 解决办法
如上图所示,桌面或其他大部分地方点击右键菜单,都只显示一个白色框,鼠标移上去才有菜单项看,并且效果很丑 解决办法: 计算机-右键-属性-高级-性能-设置-视觉效果-淡入淡出或滑动菜单到视图,将其前面的 ...
- 移动端 Web 开发前端知识整理
文章来源: http://www.restran.net/2015/05/14/mobile-web-front-end-collections/ 最近整理的移动端 Web 开发前端知识,不定期更新. ...
- MVC CheckBoxList的实现
using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; us ...