• 数据库及表的操作


    一、数据类型
    
    1、二进制类型:(有长度限制,可放800个0、1)
    
    格式:
    
    binary[(n)]                 --固定长度的n个字节二进制数据
    
    varbinary[(n)]             --n个字节变长的二进制数据
    
    2、字符数据
    
    格式:
    
    char[(n)]   --固定长度为n的字符型数据
    
    varchar[(n)]   --最大长度为n的变长字符型数据
    
    相同点:两者最多存8kb,相当于8000个英文字母或数字,也相当于4000个汉字,超过4000字的一般用text文本类型存储
    
    区分char和varchar:
    
       用 char20)和 varchar(20)两个定义一个长度为10的量,char20)会用null自动补全空余的10个位置,不用的10个空间不会释放。
    
      而varchar(20)在现在就相当于char(10),剩余10个空间会自动释放,节省空间。  所以,一般选用varchar
    
    3、日期时间数据
    
    格式:
    
    datetime          范围为1753.1.1-1999.12.31
    
    smalldatetime          范围为1900.1.1-2079.6.6
    
    注意:
    
    (1)、日期时间有范围,定义时不要超出其范围
    
    (2)、定义时间时用日期时间数据,尽量别用varchar()
    
    (3)、日期时间类型长度固定
    
    4、实型数据
    
    (1)、定点型数据
    
    格式:
    
    decimal[(p[,s])]   --其中p为总数,s为小数位数
    
    numeric[(p[,s])]     若s缺省,则无小数部分
    
    注意:
    
    p包含小数点位数,小数点算一位
    
    例:
    
    若小数点前2为,小数点后4为,则p=7,s=42)、浮点型数据
    
    格式:
    
    float(real)[(n)]     --n用于记float尾数的位数
    
    5、货币类型
    
    6、特殊数据类型
    
    bit     只包含0或1,可用于代表true,false
    
    7、文本和图像数据类型
    
    文本(text):用来处理可变长的大文本数据,可存储2GB
    
    图像(image):用来处理图像数据,可存储2GB
    
     
    
     
    
    二、数据库的创建和管理
    
    SQL语言有3种:DDL(数据定义语言)、DML(数据操纵语言)、DCL(数据控制语言)
    
    1、数据库的创建:
    
    格式:
    
    CREATE DATABASE  数据库文件名                       --数据库起名   CREATE是创建的意思
    
    ON [PRIMARY]                                                 --指定数据主文件名    若不加PRIMARY时,为次文件名
    
    ( NAME = logical_file_name,
    
       FILENAME = 'os_file_name',
    
       SIZE=size,                                                 --初始化文件大小
    
       MAXSIZE=maxsize,                                  --指定文件的最大值
    
       FILEGROWTH=growth_increment )            --指定文件增长的增量
    
    LOG ON                                                     --日志文件
    
    (
    
     NAME = logical_file_name,
    
       FILENAME = 'os_file_name',
    
       SIZE=size,                                                 
    
       MAXSIZE=maxsize,                                  
    
       FILEGROWTH=growth_increment 
    
    )
    
    2、修改数据库
    
    ALTER DATABASE database
    
    3、删除数据库
    
    DROP DATABASE
    
    注意:所删除的数据库一定不能处于使用状态
    
     
    
    三、表的创建和管理
    
    1、创建表
    
    CREATE TABLE [[数据库名.]表所有者.]表名
    
    (  { 列名   数据类型}
    
           [NULL | NOT NULL]
    
           {列名 AS 列表达式}             --可以通过其他表计算出来的列用列表达式表示
    
      [,........]  )
    
    [ON {文件组名 | DEFAULT}]
    
    2、指定默认值
    
    格式:
    
    [DEFAULT  常量表达式]
    
    例:CREATE TABLE STUDENT
    
    (
    
       NAME CHAR(8),
    
       COLLECE CHAR(20)  DEFAULT '黑龙江八一农垦大学'          --如果没填默认为  黑龙江八一农垦大学
    
    )
    
    3、标识列(自增长列)
    
    格式
    
    CREATE TABLE [[数据库名.]表所有者.]表名
    
    (  { 列名   数据类型}
    
          [IDENTITY (种子值,增长值) NOT NULL]           --种子值(意思是从几开始增)  增长值是(一次增长几个)
    
        [.............,]
    
     )
    
    注意:
    
    (1)、一个表只能有一列定义为IDENTITY 属性。该列必须以 decimalint、numeric、smallint、bigint、tinyint数据定义。
    
    (2)、若不定义种子值和增长值,二者默认为1
    
    (3)、标识符列不允许为空值,也不能包含DEFAULT
    
    *(4)、insert into 输入时,若有标识列,可自动省略。
    
         例:表student有两 ID列、NAME列 两列 ,其中ID列为标识符列,
    
    则输入时   insert into student values('刘明')    --只需要输入一个数,到表内标识符列自动生成
    
    *(5)、标识列用一个废一个,一旦用了就不能再用了   
    
    例:若一个三行的student表,ID列为标识列,NAME列为姓名列,删除第二行姓名,再添加一个是,ID列自动变为4。
    
        如果发现ID4的名字填错了,改过来之后,ID会自动变为5
    
    (6)若想从头开始填标识符列,  truncate 表名     --truncate 是截断、清空的意思
    
    4、CHECK检查约束
    
    目的:主要是防止出现一模一样的数值,可作为区分。
    
    操作:找到要操作的表——>右键——>设计——>找到想设CHECK约束的列名——>右键——>CHECK约束
    
    5、定义主关键字
    
    主键的特征:
    
    (1)、唯一性。一个表只有一个主键
    
    (2)、不为空。不能在主键列中输入NULL值
    
    (3)、每一个表都应设主键
    
    (4)、主键会自动排序
    
    主键的类型:
    
    (1)、一般设置一个主键
    
    (2)、有时也会设置2个主键,也就是组合主键。组合主键的意思是唯一不重复的组合,其中一个每一个都可能重复,但组合起来就不可能重复了。
    
    操作:找到要操作的表——>右键——>设计——>找到想设置的列名——>右键——>设置主键  //或者直接点击想设置的列,然后点击左上方的钥匙标记
    
    6、定义外关键字
    
    (1)、外键一般涉及两个表:主表和从表
    
    主表:用来约束的表
    
    从表:被约束的表         --外键一般建在从表上
    
    (2)、找到要操作的表——>右键——>设计——>点击左上角与主键挨着的那个关系键——>添加——>然后在右边的栏里选择需要设置的项          --第一种
    
              数据关系图——>右键——>新建关系图——>选择有关系的图——>钥匙指向的一方为主表          (可以在里面直接设置主键,有关系的直接连接起来即可)
    
     
    
    注意:
    
    INSERT 和UPDATE规范中有更新规则和删除规则:
    
    (1)、删除规则的:   不执行任何操作     --从表已经使用的项主表不能删除、修改
    
                                  级联                   --主表删除,从表跟着删。
    
                                  设置NULL            --主表删除,从表变为NULL。
    
              更新规则的:   不执行任何操作     --从表已经使用的项主表不能更新
    
                                  级联                   --主表更新,从表跟着更新。
    
                                  设置NULL            --主表更新,从表变为NULL。
    
    7、候选键(主键以外的唯一不重复键)
    
    UNIQUE 约束
    
    特征:
    
    (1)、不重复                    
    
    (2)、可有多个                 --UNIQUE 约束可以有多个
    
    (3)、可为空                    --UNIQUE 约束可以为空
    
    (4)、不具备自动排序功能
    
    操作:
    
    找到要操作的表——>右键——>设计——>找到要约束的列——>添加——>类型  唯一键
    
    8、添加列
    
    ALTER TABLE  表名    --修改表
    
    9、删除表
    
    DROP TABLE  表名
  • 相关阅读:
    结对四则运算04—网页版
    每周总结07
    每周总结06
    求循环数组中最大子数组的和
    每周总结05
    每周总结03
    每周总结04
    四则运算03
    开发过程记录
    Ubuntu下安装mysql和可视化工具超级简单教程
  • 原文地址:https://www.cnblogs.com/dawasai/p/4217665.html
Copyright © 2020-2023  润新知