SQL语言基础及数据定义功能

1.SQL语言概述

结构化查询语言(Structured Query Language)简称SQL,是最重要的关系数据库操作语言。

SQL语言的特点:

1. 一体化

2. 高度非过程化

3. 简洁

4. 使用方式多样

    SQL功能     

                  命令动词

    数据查询  

   SELECT

    数据定义  

   CREATE、DROP、ALTER

    数据操纵  

   INSERT、UPDATE、DELETE   

    数据控制  

   GRANT、REVOKE、DENY

 

2.SQL语言支持的数据类型

数值型:

准确型:

    整数:

    Bigint:            8字节,                  Int:         4字节    

    Smallint:    2字节,                  Tinyint:   1字节(0~255)

    Bit:              1位,存储1或0

    小数

    Numeric(p,q)或Decimal(p,q),

     其中:p为数字位长度,q:小数位长度。

近似型:

    Float: 8字节

    Real: 4字节

 

字符串型:

普通编码字符串类型:

     Char(n):                   定长存储,n<=8000

      Varchar(n):           不定长存储(按实际长度存储),长度最大不超过n , n<=8000

      注:n为字符个数,1个汉子算2个字符

      Text:                             存储大于8000字节的文本(将被弃用的类型)

      varchar(max):             存储大于8000字节的文本

统一字符编码字符串类型:

      nchar(n):                定长存储,n<=4000

      nvarchar(n):        不定长存储,长度最大不超过n , n<=4000

      ntext:                           存储大于8000字节的文本(将被弃用的类型)

      nvarchar(max):          存储大于8000字节的文本

      注:n为字符个数,每个字符占两个字节

二进制字符串类型:

      Binary(n):              固定长度,n<=8000

      Varbinary(n):         可变长度,n<=8000

      注:n为二进制数据的字节数

      image:                    用于存储超过8000字节的二进制数据。(将被弃用的类型)

      varbinary(max):      用于存储超过8000字节的二进制数据


日期时间类型:

Date:                        3字节,           定义范围为0000-1-1到9999-12-31的日期。默认格式为:YYYY-MM-DD

time[(n)]:                 3-5字节,        定义一天中的某个时间,该时间基于24小时制。默认格式为:hh:mm:ss[.nnnnnnn], n为秒的小数位数,取值范围是0到7的整数。

Datetime:                8字节,           年月日时分秒毫秒

                                                              (例:‘2001/08/03 10:30:00.000’ )存储从1753年1月1日到9999年12月31日的日期和时间数据

SmallDateTime:    4字节,            年月日时分

                                                            (例:‘2001/08/0310:30:00’ )存储从1900年1月1日到2079年6月6日的日期和时间数据

Datetime2:              6-8字节。          定义一个结合了24小时制时间的日期。默认格式:YYYY-MM-DD hh:mm:ss[.nnnnnnn],n表示秒的小数位数,默认精度是7位小数。

Datetimeoffset:      8-10字节。        定义一个与采用 24 小时制并和可识别时区的一日内时间相组合的日期,该数据类型使用户存储的日期和时间(24小时制)是时区一致的。                                                                  语法格式为:datetimeoffset [(n)],n为秒的精度,最大为7。默认格式为:YYYY-MM-DDhh:mm:ss[.nnnnnnn] [{+|-}hh1:mm1],


3 .数据定义功能

      

   对  象   

              创    建

         修    改

            删    除

   架构

     CREATE SCHEMA     

 

    DROP SCHEMA   

   表

    CREATE TABLE

    ALTER TABLE    

    DROP TABLE

   视图

    CREATE VIEW

    ALTER VIEW

   DROP VIEW

   索引

   CREATE INDEX

    ALTER INDEX

   DROP INDEX

 

架构(schema,也称为模式)是数据库下的一个逻辑命名空间。

定义架构:

       CREATESCHEMA {
   <架构名>
  |AUTHORIZATION <所有者名>
  |<架构名> AUTHORIZATION <所有者名>
}
[ { 表定义语句 | 视图定义语句
    |授权语句 | 收权语句 | 拒绝权限语句 }
   ]

删除架构:

       DROPSCHEMA <架构名> 
   { |  }

CASCADE:删除架构的同时将该架构中所有的对象一起删除。

RESTRICT:如果被删除的架构中包含对象,则拒绝删除此架构。

 

定义基本表:

       CREATE  TABLE <表名>(
 <列名> <数据类型> [列级完整性约束定义]
{, <列名> <数据类型>
   [列级完整性约束定义] … }
   [,表级完整性约束定义 ] )


在列级完整性约束定义处可定义的约束:

NOT NULL:限制列取值非空。

DEFAULT:给定列的默认值。

UNIQUE:限制列取值不重。

CHECK:限制列的取值范围。

PRIMARY KEY:指定本列为主键。

FOREIGN KEY:定义本列为引用其他表的外键。


修改表结构:

ALTER TABLE <表名> 
[ ALTER COLUMN <列名> <新数据类型>]
| [ ADD <列名> <数据类型>[约束]]
| [ DROP COLUMN <列名> ]
| [ ADD [constraint <约束名>] 约束定义]
| [ DROP [constraint] <约束名>]











 Bigint: 8字节,     Int:4字节


你可能感兴趣的:(数据库)