管理数据库对象

紫色代表一级目录
粉红代表二级目录
蓝色代表三级目录
红色代表关键字
橙色代表说明

数据库对象:
  是数据库定义的、用于存储或引用数据的对象(表、视图、索引等)。
规划:
  规划是与数据库某个用户名相关联的数据库对象集合。
  相应的用户名被称为规划所有人(关联对象组的所有人)。
  在这里插入图片描述
  USER1访问自己的table1:table1
  USER1访问自己的test:test
  USER1访问USER2的table10:USER2.table10
  USER1访问USER2的test:USER2.test
数据的主要存储方式:
  简单说明:table是关系型数据库里最主要的数据存储对象,其简单形式由行和列组成。表在数据库中占用实际的物理空间,可以是永久或者临时的。
  列:
    简单说明:在关系数据库中列也被称为字段,它是表的基本组成部分,被设置为特定的数据类型。数据类型决定了什么样的数据可以保存在相应的列中,从而保存了数据的完整性
    在给列命名时,采用下划线_将不同的单词分开是一个不错的选择。
    列也可以指定为NULL和NOT NULL。
  行:
    简单说明:行(也被称为元组)是数据库表中的一条记录。
  CREATE TABLE语句:
    SQL中的CREATE TABLE语句用于创建一个表。
    在创建表时需要考虑到的问题:
       - 表的名字
       - 列的名字
       - 包含什么类型的数据
       - 每一列的数据类型
       - 每一列的长度
       - 主键
       - 哪些字段的值可以是NULL
    创建表的基本语法:
      CREATE TABLE table_name
      (  field1 data_type [ null / not null ],
         field2 data_type [ null / not null ],
         …
         fieldn data_type [ null / not null ];
      )
  ALTER TABLE
    1. 修改表的元素
      列的属性是其所包含数据的规则和行为。利用ALTER TABLE可以修改列的属性,这里“属性”的含义为:
        列的数据类型;
        列的长度、有效位数或标度;
        列值是否为空
      例:ALTER TABLE table1
        name VARCHAR(10); 修改表table1的name属性的变量类型(如果表已包含数据,这时添加的列就不能定义为NOT NULL。原因是当现有记录中没有相关数据时,就会产生自身矛盾的情况。
    2. 添加列
      强行向表添加一列的方法:
        a. 添加一列,把它定义为NULL(这一行不一定要包含数据)
        b. 给这个新列在每条记录里都插入数据
        c. 把列的定义修改为NOT NULL
    3. 添加自动增加的列(有时我们需要一列数据能自动增加,从而让每一行都具有不同的序号)
      多种情况:
        MySQL提供SERIAL方法来为表生产真正的唯一值
          例:CREATE TABLE TEST(
              ID SERIAL,
              TEST_NAME VARCHAR(20));
            watch out:创建表时使用NULL(列的默认属性是NULL)。
        Microsoft SQL Server中使用IDENTITY类型
          例:CREATE TABLE TEST(
              ID INT IDENTITY(1,1) NOT NULL,
              TEST_NAME VARCHAR(20));
        Oracle没有提供直接的方法来创建自动增加的列,但却可以用SEQUENCE对象和一个触发器实现类似的效果。
    4. 修改列
  从现有的表新建另一个表
    格式:CREATE TABLE new_table_name AS  //创建一个新的表
       SELECT [列名]  //选择被选择表中的列
       FROM table_name  //被选择的表
       [WHERE]  //条件判断语句
  删除表
     格式:DROP TABLE table_name [ RESTRICT | CASCADE ]
     说明:RESTRICT代表如果表被视图或约束所引用,DROP就会返回一个错误。
        CASCADE代表全部引用视图和约束都被删除。
完整性约束
  作用:用于确定关系型数据库里数据的准确性和一致性。
  主键约束
    主键是表中一个或多个用于实现记录唯一性的字段。
    实现:在创建表时,在没建立一列(字段)时,在变量类型后指定PRIMARY KEY
    例:CREATE TABLE table_name
      (name CHAR(9) NOT NULL PRIMARY KEY,
       …
      );
  唯一性约束
    唯一性约束要求表中某列(字段)的值在每条记录里都是唯一的。
    实现:将上例主键约束的PRIMARY KEY改为UNIQUE即可。
  外键约束
    外键是子表里的一个字段,引用父表的主键。外键约束是确保表与表之间引用完整性的主要机制。
    实现:通过CONSTRAINT、FROEIGN KEY、REFERENCES关键字实现。
    例:CREATE TABLE new_table_name
      (
        …
        CONSTRAINT new_name FOREIGN KEY(name) REFERENCES table_name(name),
        …
      )
      在这里插入图片描述
    利用ALTER TABLE命令可以向表里添加外键
      例:ALTER TABLE new_table_name
        ADD CONSTRAINT new_name FOREIGN KEY (name)
        REFERENCES table_name(name);
  NOT NULL约束
    关键字NULL和NOT NULL说明(字段默认是NULL)。
  检查约束  在这里插入图片描述 
  去除约束
 DROP CONSTRAINT选项可以去除已定义的约束
 去除主键约束

猜你喜欢

转载自blog.csdn.net/xingyangs/article/details/84667072
今日推荐