SQL手册

一.SQL简介

二.SQL数据类型

三.SQL语法

四.SQL SELECT语句

五.SQL INSERT语句

六.SQL UPDATE语句

七.SQL DELETE语句

八.SQL DROP语句

九.SQL CREDTE语句

十.SQL ALTER 语句总结

十一.SQL事务

十二.函数总结

十三.数据库其他操作

十四.MySQL 、SQL MS Access、和 SQL Server 数据类型

十五.存储过程专题

 

一.SQL简介

1.SQL 是用于访问和处理数据库的标准的计算机语言,这类数据库包括:Oracle, Sybase, SQL Server, DB2, Access ,mysql等等。

结构化查询语言(Structured Query Language)简称SQL,一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;

同时也是数据库脚本文件的扩展名。

 

结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。

SQL 是什么?

  • SQL 发音为“sequel”。
  • SQL 指结构化查询语言,全称是 Structured Query Language(是最初由IBM开发)。
  • SQL 是关系数据库系统的标准语言。
  • SQL 是一种 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言。

    SQL 能做什么?

    • SQL可以创建新的数据库及其对象(表,索引,视图,存储过程,函数和触发器)。
    • SQL可以修改现有数据库的结构。
    • SQL可以从数据库中删除(删除)对象。
    • SQL可以TRUNCATE(删除)表中的所有记录。
    • SQL可以对数据字典进行COMMENT。
    • SQL可以RENAME一个对象。
    • SQL可以从数据库中选择(检索)数据。
    • SQL可以将数据插入到表中。
    • SQL可以更新表中的现有数据。
    • SQL可以从数据库表中删除记录。
    • SQL可以在数据库中设置用户的GRANT和REVOKE权限。

      SQL 的历史

      • SQL由IBM的Donald D. Chamberlin和Raymond F. Boyce于1970年开发。
      • 首先,开发版本最初被称为SEQUEL(结构化英语查询语言)。
      • 关系软件于1979年发布了第一个叫做System / R的商业产品。
      • 由于商标冲突问题,SEQUEL首字母缩略词后来更改为SQL。
      • 后来IBM基于System / R的原型开始在SQL上开发商业产品。
  • SQL 格式化工具:https://www.w3cschool.cn/tools/index?name=sql_formatter

2.SQL语句结构

结构化查询语言包含6个部分:

一:数据查询语言(DQL:Data Query Language):

其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用。

二:数据操作语言(DML:Data Manipulation Language):

其语句包括动词INSERT,UPDATE和DELETE。它们分别用于添加,修改和删除表中的行。也称为动作查询语言。

三:事务处理语言(TPL):

它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。

四:数据控制语言(DCL):

它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。

五:数据定义语言(DDL):

其语句包括动词CREATE和DROP。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询的一部分。

六:指针控制语言(CCL):

它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。

二.SQL数据类型

简要描述一下结构化查询语言中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型。

1.字符型(VARCHARVS CHAR)

VARCHAR型和CHAR型数据的这个差别是细微的,但是非常重要。他们都是用来储存字符串长度小于255的字符。

假如你向一个长度为四十个字符的VARCHAR型字段中输入数据Bill Gates。当你以后从这个字段中取出此数据时,你取出的数据其长度为十个字符——字符串Bill Gates的长度。假如你把字符串输入一个长度为四十个字符的CHAR型字段中,那么当你取出数据时,所取出的数据长度将是四十个字符。字符串的后面会被附加多余的空格。

当你建立自己的站点时,你会发现使用VARCHAR型字段要比CHAR型字段方便的多。使用VARCHAR型字段时,你不需要为剪掉你数据中多余的空格而操心。

VARCHAR型字段的另一个突出的好处是它可以比CHAR型字段占用更少的内存和硬盘空间。当你的数据库很大时,这种内存和磁盘空间的节省会变得非常重要。 

2.文本型(TEXT)

使用文本型数据,你可以存放超过二十亿个字符的字符串。当你需要存储大串的字符时,应该使用文本型数据。

注意文本型数据没有长度,而上一节中所讲的字符型数据是有长度的。一个文本型字段中的数据通常要么为空,要么很大。

当你从HTML FORM的多行文本编辑框(TEXTAREA)中收集数据时,你应该把收集的信息存储于文本型字段中。但是,无论何时,只要你能避免使用文本型字段,你就应该不使用它。文本型字段既大且慢,滥用文本型字段会使服务器速度变慢。文本型字段还会吃掉大量的磁盘空间。

一旦你向文本型字段中输入了任何数据(甚至是空值),就会有2K的空间被自动分配给该数据。除非删除该记录,否则你无法收回这部分存储空间。 

3,。数值型(整数INT 、小数NUMERIC、钱数MONEY)
INT 对比 SMALLINT 对比 TINYINT

通常,为了节省空间,应该尽可能的使用最小的整型数据。一个TINYINT型数据只占用一个字节;一个INT型数据占用四个字节。这看起来似乎差别不大,但是在比较大的表中,字节数的增长是很快的。另一方面,一旦你已经创建了一个字段,要修改它是很困难的。因此,为安全起见,你应该预测一下,一个字段所需要存储的数值最大有可能是多大,然后选择适当的数据类型。

NUMERIC

为了能对字段所存放的数据有更多的控制,你可以使用NUMERIC型数据来同时表示一个数的整数部分和小数部分。NUMERIC型数据使你能表示非常大的数——比INT型数据要大得多。一个NUMERIC型字段可以存储从-10^38到10^38范围内的数。NUMERIC型数据还使你能表示有小数部分的数。例如,你可以在NUMERIC型字段中存储小数3.14。

MONEY 对比 SMALLMONEY

你可以使用 INT型或NUMERIC型数据来存储钱数。但是,专门有另外两种数据类型用于此目的。如果你希望你的网点能挣很多钱,你可以使用MONEY型数据。如果你的野心不大,你可以使用SMALLMONEY型数据。MONEY型数据可以存储从-922,337,203,685,477.5808到922,337,203,685,477.5807的钱数。如果你需要存储比这还大的金额,你可以使用NUMERIC型数据。

SMALLMONEY型数据只能存储从-214,748.3648到214,748.3647 的钱数。同样,如果可以的话,你应该用SMALLMONEY型来代替MONEY型数据,以节省空间。

 

逻辑型(BIT)

如果你使用复选框(CHECKBOX)从网页中搜集信息,你可以把此信息存储在BIT型字段中。BIT型字段只能取两个值:0或1。

注意:在你创建好一个表之后,你不能向表中添加 BIT型字段。如果你打算在一个表中包含BIT型字段,你必须在创建表时完成。


日期型(DATETIME 对比 SMALLDATETIME)

一个 DATETIME型的字段可以存储的日期范围是从1753年1月1日第一毫秒到9999年12月31日最后一毫秒。

如果你不需要覆盖这么大范围的日期和时间,你可以使用SMALLDATETIME型数据。它与DATETIME型数据同样使用,只不过它能表示的日期和时间范围比DATETIME型数据小,而且不如DATETIME型数据精确。一个SMALLDATETIME型的字段能够存储从1900年1月1日到2079年6月6日的日期,它只能精确到秒。

DATETIME型字段在你输入日期和时间之前并不包含实际的数据,认识这一点是重要的。

三.SQL语法 

SQL 语法规则 

  • SQL语句总是以关键字开始。
  • SQL语句以分号结尾。
  • SQL不区分大小写,意味着update与UPDATE相同

    SQL 语句后面的分号? 

    • 一些数据库系统需要在每个SQL语句的末尾使用分号。
    • 分号是分离数据库系统中每个SQL语句的标准方法,这样您就可以在对服务器的同一请求中执行多个SQL语句。

      一些最重要的 SQL 命令

      • SELECT - 从数据库中提取数据
      • UPDATE - 更新数据库中的数据
      • DELETE - 从数据库中删除数据
      • INSERT INTO - 向数据库中插入新数据
      • CREATE DATABASE - 创建新数据库
      • ALTER DATABASE - 修改数据库
      • CREATE TABLE - 创建新表
      • ALTER TABLE - 变更(改变)数据库表
      • DROP TABLE - 删除表
      • CREATE INDEX - 创建索引(搜索键)
      • DROP INDEX - 删除索引 

四.SQL SELECT 语句 

https://www.cnblogs.com/lukelook/p/9585574.html 

五.SQL INSERT 语句

https://www.cnblogs.com/lukelook/p/9586049.html

六.SQL UPDATE语句

https://www.cnblogs.com/lukelook/p/9586221.html

七.SQL DELETE语句

https://www.cnblogs.com/lukelook/p/9587752.html

八.SQL DROP语句

https://www.cnblogs.com/lukelook/p/9592856.html

九.SQL CREATE语句

https://www.cnblogs.com/lukelook/p/9592856.html

十.SQL ALTER 语句总结

https://www.cnblogs.com/lukelook/p/9595340.html

十一.SQL事务

https://www.cnblogs.com/lukelook/p/9597496.html

十二.函数总结

https://www.cnblogs.com/lukelook/p/9595437.html

十三.数据库其他操作

https://www.cnblogs.com/lukelook/p/9595915.html

十四.MySQL 、SQL MS Access、和 SQL Server 数据类型

https://www.cnblogs.com/lukelook/p/9598088.html

十五.存储过程专题

https://www.cnblogs.com/lukelook/p/9600407.html

转载于:https://www.cnblogs.com/lukelook/p/9583935.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/396975.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python语音合成并播放_使用Python实现文字转语音并生成wav文件的例子

目前手边的一些工作,需要实现声音播放功能,而且仅支持wav声音格式。 现在,一些网站上支持文字转语音功能,但是生成的都是MP3文件,这样还需要额外的软件来转成wav文件,十分麻烦。 后来,研究Pytho…

php 字符串 替换 最后,php如何替换字符串中的最后一个字符

php替换字符串中的最后一个字符的方法是:可以通过preg_replace()函数来实现。该函数的语法为:【preg_replace(mixed $pattern, mixed $replacement, mixed $subject】。要替换字符串中的最后一个字符,可以通过preg_replace()函数来实现。(如果…

生日转换成星座

/// <summary>/// 生日转换成星座/// </summary>/// <param name"birthday"></param>/// <returns></returns>public static string GetAstro(DateTime birthday){string value string.Empty;int month birthday.Month;int da…

logback的使用和logback.xml详解

原文地址&#xff1a;https://www.cnblogs.com/warking/p/5710303.html#4046335 作者&#xff1a;行走在云端的愚公 一、logback的介绍   Logback是由log4j创始人设计的另一个开源日志组件,官方网站&#xff1a; http://logback.qos.ch。它当前分为下面下个模块&#xff1a; …

tcp协议的主要功能是什么_前端要知道的网络知识一:TCP/IP 协议到底在讲什么...

你之所以不知道那套书在讲什么&#xff0c;是因为你还没有认识到网络协议有什么用&#xff0c;怎么用&#xff0c;以什么形式在使用&#xff0c;网络协议的概念很简单&#xff0c;就几句话&#xff0c;你只知道网络协议的概念&#xff0c;只知道很多大神都推荐这套书&#xff0…

php统计字符个数,php中3种方法统计字符串中每种字符的个数并排序

//这个方法纯粹是背函数&#xff0c;不解释&#xff1b;function countStr($str){$str_arraystr_split($str);$str_arrayarray_count_values($str_array);arsort($str_array);return $str_array;}//以下是例子&#xff1b;$str"asdfgfdas323344##$\$fdsdfg*$**$*$**$$4435…

mysql创建定时器(event),查看定时器,打开定时器,设置定时器时间

为什么80%的码农都做不了架构师&#xff1f;>>> 由于项目需要创建定时器&#xff08;evevt&#xff09;&#xff0c;所以就百度了一下&#xff0c;发现基本都是来源于一个模板&#xff0c;有些功能还不全&#xff0c;现在自己总结一下。 注&#xff1a;mysql版本是…

音频视频

1.IOS视频播放代码&#xff08;添加MediaPlayer.framework和#import&#xff09; -(void)playMovie:(NSString *)fileName{//视频文件路径NSString *path [[NSBundle mainBundle] pathForResource:fileName ofType:"mp4"];//视频URLNSURL *url [NSURL fileURLWithP…

二分查找、变形及应用

[LeetCode] 35 Search Insert Position 题目 Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.You may assume no duplicates in the array. 测试案例 Input: […

linux内核怎么修改屏幕旋转方向_树莓派4—屏幕旋转

配置&#xff1a;树莓派4raspberry pi系统&#xff0c;HDMI显示&#xff0c;非触屏。问题&#xff1a;想将屏幕旋转90&#xff0c;按网上说的&#xff0c;方法一&#xff1a;在config.txt文件中添加display_rotate1&#xff0c;或者添加display_hdmi_rotate1&#xff0c;保存后…

周记随笔-php5.6与apache2.4的windows32安装

原材料&#xff1a;php.net , httpd.apache.org/download.cgi Apache的安装 &#xff0c;在下载页面有依赖关系的说明 。 下载对应版本的压缩包&#xff0c;解压至目标目录&#xff0c;例如D盘根目录&#xff0c;首先修改配置 1 serverRoot: ServerRoot "c:/Apache24"…

独家直播!阿里移动前端开源框架Weex揭秘

或许你写过了很多行代码&#xff0c;修过许多的bug&#xff0c;学过各种各样的语言&#xff0c;却只在一个最好的时机遇见了他…… 是啥&#xff1f; 敲&#xff01;黑&#xff01;板&#xff01;跟&#xff01;我&#xff01;念&#xff01;Weex&#xff5e;&#xff5e;&…

python异常值处理实例_利用Python进行异常值分析实例代码

前言 异常值是指样本中的个别值&#xff0c;也称为离群点&#xff0c;其数值明显偏离其余的观测值。常用检测方法3σ原则和箱型图。其中&#xff0c;3σ原则只适用服从正态分布的数据。在3σ原则下&#xff0c;异常值被定义为观察值和平均值的偏差超过3倍标准差的值。P(|x−μ|…

MSSQL 发布订阅,实现读写分离

主库做增删改&#xff0c;从库只读。 大部分的数据库压力&#xff0c;都是由查询引起的&#xff0c;读写分离可以减轻数据库的压力。 1、在(主)数据库上对需要同步的数据进行发布。 2、在(从)数据库上对(主)数据库的发布进行订阅。 注&#xff1a;发布订阅都需要实际的服务器名…

php get为空,php – $_GET在url有变量时为空

我有一个看起来像这个reglph的文件&#xff1f;lang no_NO& passkey test并试图获取密码变量,但它一直显示为空白.当我尝试print_r($_ GET);它打印Array()?!怎么会发生这种情况&#xff1f;该网站看起来像这样print_r($_GET);include(..\libs\Smarty.class.php);?>A…

Block

1、认识Block Block封装了一段代码,可以在任何时候执行Block可以作为函数参数或者函数的返回值&#xff0c;而其本身又可以带输入参数或返回值&#xff0c;它和传统的函数指针很类似&#xff0c;但是有区别&#xff1a;block是inline&#xff08;内联函数&#xff09;的&#x…

坚持学习WF(8):本地服务之调用外部方法

WF提供了一组核心服务&#xff0c;例如在SQL 数据库中存储工作流实例的执行详细信息的持久性服务&#xff0c;计划服务&#xff0c;事务服务和跟踪服务。除了这些WF也提供了另外一种服务&#xff0c;叫做Local Service也可以叫做Data exchange service。主要是实现工作流和宿主…

c++归并排序_合并排序法

一、合并排序(Merge Sort) 就是将多个有序数据表合并成一个有序数据表。如果参与合并的只有两个有序表&#xff0c;那么称为二路合并。对于一个原始的待排序序列&#xff0c;往往可以通过分割的方法来归结为多路合并排序。二、一个待排序的原始数据序列进行合并排序的基本思路是…

golang json数组拼接

2016年06月16日 15:38:25 阅读数&#xff1a;2575 标签&#xff1a; golang json 数组 更多 个人分类&#xff1a; golang func main() {a : []byte({"Parents": [ "aaaaa", "bbbbbbb" ]})b : []byte({"Parents": [ "Gomez"…

php课程设计实验心得,PHP程序设计教程实验及课程设计

部分 教程1 基础教程1.1 简介1.2 WampServer安装1.3 PHP语法1.4 变量1.5 echo和print语句1.6 数据类型1.7 字符串函数1.8 常量1.9 运算符1.10 条件语句1.11 Switch语句1.12 循环语句1.13 函数部分 教程1 基础教程1.1 简介1.2 WampServer安装1.3 PHP语法1.4 变量1.5 echo和print…