SQL数据库基本语句
SQL特点--》
1)综合统一。SQL是集数据定义、数据操作和数据控制于一体,语言峰峰统一,可独立完成数据库生命周期的所有活动。
2)高度非过程化。SQL语言是高度非过程化语言,当进行数据操作时只需要指出“做什么”,无需指出“怎么做”,存储路径对用户来说是透明的,提高了数据的独立性。
3)面向集合的操作方式。SQL语言采用面向集合的操作方式,其操作队形、查找结果可以是元组的集合。
4)两种使用方式。第一种(自含式语言):用户可以在终端键盘输入SQL命令,对数据可进行操作;第二种(嵌入式语言):将SQL语言潜入到高级语言程序中。
5)语言简洁、易学易用。SQL语言功能极强,完成核心功能只用9个动词,包括如下4类:
- 数据查询:Select
- 数据定义:CREATE、DROP、ALTER
- 数据操作:INSERT、UODATE、DELETE
- 数据控制:GRANT、REVORK
SQL数据定义:
1.创建表
CREATE TABLE<表名>(<列名><数据类型>[列级完整性约束条件(NULL|UNIQUE)]
<列名><数据类型>[,列级完整性约束条件]......
[,<表级完整性约束条件>]);
2.修改和删除变
1)修改表
ALTER TABLE<>[ADD<新列名><数据类型>[完整性约束条件]]
[DROP<完整性约束条件>]
[MODIFY<列名><数据类型>];
2)删除表
DROP TABLE<表名>
3.索引建立与删除
1)建立索引
CREAT [UNIQUE][CLUSTER]INDEX<索引名>
ON<表名>(<列名>[<次序(ASC(升序,默认)|DSC(降序))>][,<列名>[<次序>]]...);
2)删除索引
DROP INDEX<索引名>
4.视图创建与删除
1)创建视图
CREAT VIEW 视图名 (列表名)
AS SELECT 查询语句
[WITH CHECK OPTION] //表示对UPDATE,INSERT,DELECT操作时保证更新、插入、删除行满足视图定义中的谓词条件
SQL数据查询语句:
1.select基本结构
SELECT [ALL|DISTINCT] <目标列表达式>[,<目标列表达式>]...
FROM <表名或视图名>[,<表名或视图名>]
[WHERE <条件表达式>]
[GROUP BY <列名1>[HAVING<条件表达式>]] //分组
[ORDER BY <列名2>[ASC|DESC]] //排序
2.简单查询
简单查询只需要实用三个保留字SELECT,FROM,WHERE
3.连接查询
查询设计两个以上的表,则称呼为连接查询
SELECT <表名1>,<表名2>
4.子查询与聚集函数
1)子查询(嵌套查询)
一个SELECT-FROm-WHERE查询块可以嵌入另一个查询块中。SQL中允许多重嵌套
2)聚集函数:是一个值的集合为输入返回单个值的函数
SQL提供了5各预定义集函数平均值AVG、最小值MIN、最大值MAX、求和SUM、计数COUNT
为此ANY和ALL,必须同时使用比较运算符(用奇函数实现子查询通常比直接使用ALL和ANY查询效率高)
5.分组查询
1)GROUP BY 对元组进行分子
2)HAVING 假如元组在分组前按照某种方式加上限制,是的不需要的分组为空,可以在GROUP BY 子句后面跟一个HAVINg子句即可。
6.更名运算
OLD-NAME AS NEW-NAME
7.字符串操作(大小写敏感)
% 匹配任意字符串
_ 匹配任意一个字符
8.视图查询
SQL数据更新:
1.插入
INSERT INTO 基本表名(字段名[,字段名]...)
VALUES (常量,[,常量];查询语句
INSERT INTO 基本表名(列表名)
SELECT 查询语句
2.删除
DELECT FROM 基本表名
[WHERE 条件表达式]
3.修改
UPDATA 基本表名
SET 列名=值基本表达式(,列名=值基本表达式...)
[WHERE 条件表达式]
SQL访问控制:
1.授权语句
GRANt <权限>[,<权限>]...[ON<对象类型><对象名>]TO<用户名>[,<用户名>]...
[WITH GRANT OPTION]
| 对象 | 对象类型 | 操作权限 |
| 属性列 | TABLE | SELECT、INSERT,UPDATE,DELECT,ALL PRIVILEGES |
| 视图 | TABLE | SELECT、INSERT,UPDATE,DELECT,ALL PRIVILEGES |
| 基本表 | TABLE | SELECT、INSERT,UPDATE,DELECT,ALTER,INDEX,ALL PRIVILEGES |
| 数据库 | DATABASe | CREATETAB建立表的权限,可由DBA授予普通用户 |
- PUBLIC:接受权限的用户可以是单个或多个具体的用户,PUBLIc参数可以将权限赋给全体用户
- WITH GRANT OPTION:若制定了此举,那么获得权限的用户还可以将权限赋给其他用户。
2.收回权限语句
REVOKE<权限>[,<权限>]...[ON<对象类型><对象名>]
FROM<用户>[,<用户>]...;
嵌入式SQL:
PL/I和C语言的引用格式:
EXEC SQL<SQl语句>
COBOL语言的引用格式:
EXEC SQL<SQl语句>END-EXEC
SQL数据库基本语句的更多相关文章
- sql数据库常用语句总结
1.增加字段 alter table docdsp add dspcodechar(200)2.删除字段 ALTER TABLE table_NAME DROP COLUMNc ...
- SQL数据库基本操作语句
一.数据库及数据库表定义 1.创建基本表 create table <表名> (<列名><数据类型>[列级完整性约束条件] ...
- SQL 数据库基础语句
一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建备份 ...
- NumberFormatException: Invalid int类型不匹配异常——使用SQL数据库查询语句select * from blacknumber order by _id desc limit ?,20;出现
异常:类型不匹配 05-06 08:12:38.151: E/AndroidRuntime(14904): java.lang.NumberFormatException: Invalid int: ...
- sql数据库监控语句
--查找被阻塞进程 --查找阻塞头进程 and exists ( from master..sysprocesses where blocked =p.spid) --查找等待时间长的进程 order ...
- sql数据库相关语句
易错点 Where需要放在from语句之后:where中不能出现聚合函数(就是能够将几行一列合并为一行一列的函数,比如max,min,avg,count()):但是可以出现其他,如比较符,getdat ...
- sql 数据库操作语句 不带select
MySQL数据操作语句 1.总纲 DDL -数据定义语句** create/drop/alter ** create: 创建 drop:删除 alter:修改 DML -数据操作语句 ** inser ...
- Sql数据库收缩 语句特别快
数据库在收缩的时候..使用菜单 >> 任务 >> 收缩 >> 文件 >> 数据, 特别慢..还会报错失败.. 但使用脚本 USE [dbName] G ...
- [SQL]数据库常用语句
1.使用旧表创建新表 SELECT * INTO CC FROM AA ; (适用于版本SQL SERVER)
随机推荐
- Objective-C语法汇总
1.方法前的加减号 Objective-C中是没有public与private的概念的,即可以认为全部都是public.减号表示的是一个函数.方法.消息的开始.加号则表示不需要创建一个类的实例,其他类 ...
- [MySQL] 字符集的选择
1. Mysql支持的字符集 MySQL服务器可以支持多种字符集,不同的字段都可以使用不同的字符集. 查看所有可用字符集: show character set; select * from info ...
- laravel项目报错DecryptException:The MAC is invalid.
1.问题描述 把Laravel项目上传至服务器,本地数据库导出再导入至服务器数据库,一切运行正常,但是当进行用户登录时报错 DecryptException in compiled.php line ...
- [UIView beginAnimations:context:]与[UIView animateWithDuration:animations:]值得注意的一个区别
原文链接:http://longtimenoc.com/archives/uiview-beginanimationscontext%E4%B8%8Euiview-animatewithduratio ...
- 第一个jave程序-helloworld
1.打开myeclipse,其中有个select a workspase的过程,即选择工作空间,这里需要更换空间,不要放C盘,防止项目越来越大占用C盘的空间 2.创建java工程 3.取工程名,填写自 ...
- easyUi中的一段漂亮代码之将list转换成tree.
function convert(rows){ function exists(rows, parentId){ for(var i=0; i<rows.length; i++){ if (ro ...
- python datetime时区转换
from pytz import timezone def datetime_as_timezone(date_time, time_zone): tz = timezone(time_zone) u ...
- hibernate one-to-many many-to-one 双向注解
建表语句: DROP TABLE IF EXISTS `t_company`; CREATE TABLE `t_company` ( `companyId` ) unsigned NOT NULL A ...
- NOIP201305转圈游戏
2016.1.25 试题描述 有n个小伙伴(编号从0到n-1)围坐一圈玩游戏.按照顺时针方向给n个位置编号,从0到n-1.最初,第0号小伙伴在第0号位置,第1号小伙伴在第1号位置,……,依此类推. ...
- IOS开发-跨域访问DWR方法
用Phonegap做手机客户端,服务器用spring+DWR,需要在手机端访问服务器的方法,需要做以下配置,可以参见http://www.iteye.com/topic/337460: 服务器DWR配 ...