《表格模板-第3章SQL表的管理 精品.ppt》由会员分享,可在线阅读,更多相关《表格模板-第3章SQL表的管理 精品.ppt(43页珍藏版)》请在第一文库网上搜索。
1、1 SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL通常使用于数据库的通讯。ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。使用SQL的常见关系数据库管理系统有:Oracle、 Sybase、 Microsoft SQL Server、 Access、 Ingres等等。虽然绝大多数的数据库系统使用SQL,但是它们同样有它们自立另外的专有扩展功能用于它们的系统。但是,标准的SQL命令,比如 Select、 Insert、
2、 Update、 Delete、 Create和 Drop常常被用于完成绝大多数数据库的操作。2SQL功能强大,但是概括起来,它可以分成以下几组:DML(Data Manipulation Language,数据操作语言),数据操作语言): 用于检索或者修改数据;用于检索或者修改数据;DDL(Data Definition Language,数据定义语言),数据定义语言): 用于定义数据的结构,比如用于定义数据的结构,比如 创建、修改或者删除数据库对象;创建、修改或者删除数据库对象;DCL(Data Control Language,数据控制语言),数据控制语言): 用于定义数据库用户的权限。
3、用于定义数据库用户的权限。3DML组组可以细分为以下的几个语句:SELECT:用于检索数据; INSERT:用于增加数据到数据库;UPDATE:用于从数据库中修改现存的数据 DELETE:用于从数据库中删除数据。 DDL语句语句可以用于创建用户和重建数据库对象。下面是DDL命令:CREATE TABLE ALTER TABLE DROP TABLE CREATE INDEX DROP INDEXDCL命令命令用于创建关系用户访问以及授权的对象。下面是几个DCL命令:ALTER PASSWORD GRANT REVOKE CREATE SYNONYM43.1 SQL的命名规范和数据类型的命名规范
4、和数据类型 3.2 创建表创建表 3.3 创建、删除和修改约束创建、删除和修改约束 3.4 增加、删除和修改字段增加、删除和修改字段 3.5 查看表格查看表格 3.6 创建和删除索引创建和删除索引3.7 删除表删除表 5lSQL的命名规范的命名规范标志符格式标志符格式:(:(最多容纳最多容纳128128个字符个字符) )且不区分大小写且不区分大小写。标志符的首字母必须是:标志符的首字母必须是:2626个英文字母个英文字母a-za-z和和A-Z,A-Z,以及其他一些语言字符以及其他一些语言字符, ,如如: :汉字。或者是汉字。或者是下划线下划线“_”_”、“”、“#”#”。标志符的首字母后的字符
5、可以是:标志符的首字母后的字符可以是: 2626个英文字母个英文字母a-za-z和和A-Z,A-Z,以及其他一些语言字符以及其他一些语言字符, ,如汉字。或者是下如汉字。或者是下划线划线“_”_”、“”、“#”#”或或“$”$”。标志符不允许是标志符不允许是T-SQLT-SQL的保留字。的保留字。标志符不允许有空格或特殊字符。标志符不允许有空格或特殊字符。61. 1. 整型数据类型整型数据类型2. 2. 浮点数据类型浮点数据类型 3. 3. 字符数据类型字符数据类型 4. 4. 日期和时间数据类型日期和时间数据类型 5. 5. 文本和图形数据类型文本和图形数据类型 6. 6. 货币数据类型货币
6、数据类型 7. 7. 位数据类型位数据类型 8. 8. 二进制数据类型二进制数据类型 9. 9. 特殊数据类型特殊数据类型 10. 10. 新增数据类型新增数据类型71 1整型数据类型整型数据类型 整型数据类型是最常用的数据类型之一,它主要用整型数据类型是最常用的数据类型之一,它主要用来存储数值,可以直接进行数据运算,而不必使用函数转来存储数值,可以直接进行数据运算,而不必使用函数转换。换。l(1 1)intint(integerinteger):):4 4个字节个字节l(2 2)SmallintSmallint : 2 2个字节个字节l(3 3)TinyintTinyint : 1 1个字节
7、个字节 请大家自己计算它们的取值范围请大家自己计算它们的取值范围82 2浮点数据类型浮点数据类型l用于存储十进制小数用于存储十进制小数 l(1 1)RealReal:4 4个字节的,最大个字节的,最大7 7位精确位数,位精确位数,不包括小数点不包括小数点。 对于超出数据表示范围的对于超出数据表示范围的采用四舍五入的方式采用四舍五入的方式 例例1 1 如指定某列为如指定某列为RealReal型数据类型,型数据类型,8.43687688.4368768 那么该列实际存储的是:那么该列实际存储的是: 8.4368778.436877。 例例2 2 如指定某列为如指定某列为RealReal型数据类型,
8、型数据类型,84.36876884.368768 那么该列实际存储的是:那么该列实际存储的是: 84.3687784.36877。l(2 2)FloatFloat 可以精确到第可以精确到第1515位小数,其范围从位小数,其范围从-1.79E-308-1.79E-308到到1.79E+3081.79E+308。9l(3 3)DecimalDecimal和和numericnumeric:可以提供小数所需要的实:可以提供小数所需要的实际存储空间,可以用际存储空间,可以用5-175-17个字节来存储。也可以将其个字节来存储。也可以将其写为写为decimaldecimal(p p,s s)的形式。)的形
9、式。(1p=38(1p=38;0=s=p)0=s=p) 注意:注意:数值类型的总位数不包括小数点数值类型的总位数不包括小数点。 例如:例如: decimaldecimal(1010,5 5),表示共有),表示共有1010位数,其中整数位数,其中整数5 5位,位,小数小数5 5位。位。 10 例例1 1 如指定某列的精度为如指定某列的精度为6 6,小数位数为,小数位数为3 3,即,即decimal(6,3)decimal(6,3),则向某记,则向某记录的该例附值录的该例附值86.43687686.436876, 如果使用企业管理器录入的方法:如果使用企业管理器录入的方法: 那么该列实际存储的是:
10、那么该列实际存储的是:86.43686.436。 如果使用如果使用T-SQLT-SQL语句的方法:语句的方法: 例如代码如下:例如代码如下: Insert Into Insert Into 表名表名 Values(86.436876)Values(86.436876) 该列实际存储的是:该列实际存储的是:86.43786.437请大家试验一下上题如果输入请大家试验一下上题如果输入1234.567的结果是什么?的结果是什么?11l如指定某列的精度为如指定某列的精度为8 8,小数位数为,小数位数为5 5,即,即numeric(8,3)numeric(8,3),则向某记录,则向某记录的该例附值的该例
11、附值12685.56498612685.564986, 如果使用企业管理器录入的方法:如果使用企业管理器录入的方法: 那么该列实际存储的是:那么该列实际存储的是: 12685.564 12685.564 。 如果使用如果使用T-SQLT-SQL语句的方法:语句的方法: 例如代码如下:例如代码如下: Insert Into Insert Into 表名表名 Values(12685.564986)Values(12685.564986) 该列实际存储的是:该列实际存储的是: 12685.56512685.565注意:数值型数据时,其小数位数必须小于精度;注意:数值型数据时,其小数位数必须小于精度
12、;注意什么时候进行四舍五入。注意什么时候进行四舍五入。123 3字符数据类型字符数据类型 用来存储各种字母、数字符号和特殊符号。在使用时用来存储各种字母、数字符号和特殊符号。在使用时需要在其前后加上英文单引号或者双引号。需要在其前后加上英文单引号或者双引号。 (1 1)CharChar:占用:占用1 1个字节。个字节。 其定义形式为:其定义形式为:charchar(n n) 如果实际数据的字符长度短于给定的最大长度,则多如果实际数据的字符长度短于给定的最大长度,则多余的字节会被空格填充。余的字节会被空格填充。如果实际数据的字符长度超过了如果实际数据的字符长度超过了给定的最大长度,则超过的字符将
13、会被截断。使用双引号给定的最大长度,则超过的字符将会被截断。使用双引号或单引号将字符型变量括起来。或单引号将字符型变量括起来。 n n的取值为的取值为1-80001-8000。默认默认n n的值为的值为1 1。13(2 2)VarcharVarchar:可以存储长达可以存储长达80008000个字符的可变长度字符串,和个字符的可变长度字符串,和charchar类型不同类型不同varcharvarchar类型根据输入数据的实际长度而变化。类型根据输入数据的实际长度而变化。 其定义形式为:其定义形式为:varcharvarchar(n n) 当每列数据没有达到规定的字符数时,并不会在多余的字当每列
14、数据没有达到规定的字符数时,并不会在多余的字节上填充空格。可以有效的节省空间。节上填充空格。可以有效的节省空间。(3 3)NcharNchar:采用采用UnicodeUnicode(统一字符编码标准)字符集每个(统一字符编码标准)字符集每个UnicodeUnicode字符用两个字节为一个存储单位。范围是字符用两个字节为一个存储单位。范围是1-40001-4000。 其定义形式为:其定义形式为:ncharnchar(n n)(3 3)NvarcharNvarchar:使用使用UnicodeUnicode字符集的字符集的VarcharVarchar数据类型。数据类型。 其定义形式为:其定义形式为:
15、nvarcharnvarchar(n n),范围是),范围是0-40000-4000。14 例例1 1 某例的数据类型为某例的数据类型为 char(18)char(18),而输入的字符串,而输入的字符串为为“shanghai”shanghai”,则存储的字符是,则存储的字符是shanghaishanghai。( (表示空格表示空格) ) 例例2 2 表中某例的数据类型为表中某例的数据类型为varchar(18)varchar(18),而输入的,而输入的字符串为字符串为“shanghai”shanghai”,则存储的字符是,则存储的字符是shanghaishanghai。注意:若存储的字符串长度
16、不足注意:若存储的字符串长度不足n n时,时,则在串尾添加空格。则在串尾添加空格。注意:若存储的字符串长度不足注意:若存储的字符串长度不足n n时,按实际时,按实际长度输入。长度输入。153 3日期和时间数据类型日期和时间数据类型(1 1)DatetimeDatetime:占用:占用8 8个字节。个字节。 用于存储日期和时间的结合体,可以存储从公元用于存储日期和时间的结合体,可以存储从公元17531753年年1 1月月1 1日零时起日零时起 公元公元99999999年年1212月月3131日日2323时时5959分分5959秒之间秒之间的所有日期和时间,其精确度可达三百分之一秒,即的所有日期和时间,其精确度可达三百分之一秒,即3.333.33毫秒。毫秒。 当存储当存储datetimedatetime数据类型时,默认的格式是:数据类型时,默认的格式是:MM DD MM DD YYYY hh:mmYYYY hh:mm A.M./P.M A.M./P.M。当插入数据或者在其它地方使用。当插入数据或者在其它地方使用datetimedatetime类型时,需要用类型时,需要用单引号单引号把它括起