二.SQL数据类型
十四.MySQL 、SQL MS Access、和 SQL Server 数据类型
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用于对一个或多个表单独行的操作。
简要描述一下结构化查询语言中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型。
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不区分大小写,意味着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 - 删除索引
https://www.cnblogs.com/lukelook/p/9585574.html
https://www.cnblogs.com/lukelook/p/9586049.html
https://www.cnblogs.com/lukelook/p/9586221.html
https://www.cnblogs.com/lukelook/p/9587752.html
https://www.cnblogs.com/lukelook/p/9592856.html
https://www.cnblogs.com/lukelook/p/9592856.html
https://www.cnblogs.com/lukelook/p/9595340.html
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 数据类型