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 基础知识梳理( ...
随机推荐
- Spring中配置数据源的4种形式
不管采用何种持久化技术,都需要定义数据源.Spring中提供了4种不同形式的数据源配置方式: spring自带的数据源(DriverManagerDataSource),DBCP数据源,C3P0数据源 ...
- sql 代码笔记
1. if() 函数 推荐一个学习MySQL的网站 Study MySql
- Bzoj3894 文理分科
Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 667 Solved: 389 Description 文理分科是一件很纠结的事情!(虽然看到这个题 ...
- Nginx 1.10.1 编译、配置文档(支持http_v2,TLSv1.2,openssl v1.0.2)
1.安装常用工具及基础包: [root@localhost /]# yum -y install wget git vim make gcc gcc-c++ openssl-devel [root@l ...
- Java MD5机密算法的使用
MD5 是常用的加密算法,是不可逆的.既只能加密,但不能解密. package cn.com.ctsi.csdp.base.util; import java.security.MessageDige ...
- JS-自制提速小工具:开发页面时需要按比例计算宽高值的快速计算器
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <meta name= ...
- JMeter 问题
1. JMeter 测试计划 测试计划 使用 JMeter 进行测试的起点,是其它 JMeter 测试元件的容器. 线程组 代表一定数量的并发用户,它可以用来模拟并发用户发送请求.实际的请求内容在S ...
- leggere la nostra recensione del primo e del secondo
La terra di mezzo in trail running sembra essere distorto leggermente massima di recente, e gli aggi ...
- A*寻路算法探究
A*寻路算法探究 A*算法常用在游戏的寻路,是一种静态网路中求解最短路径的搜索方法,也是解决很多搜索问题的算法.相对于Dijkstra,BFS这些算法在复杂的搜索更有效率.本文在U3D中进行代码的测试 ...
- 手动安装Oracle的Maven依赖
由于Oracle授权问题,Maven3不提供Oracle JDBC driver,为了在Maven项目中应用Oracle JDBC driver,必须手动添加到本地仓库. 环境:win7 + Orac ...