数据库基本

来源:互联网 发布:无法连接到一个windows 编辑:程序博客网 时间:2024/05/21 22:42

 一.数据库的基本操作

1.建表

  CREATE TABLE <TABLENAME> ( <列名><数据类型><列级完整性约束条件>

                                                    ,<列名><数据类型><列级完整性约束条件>

                                                    , 表级完整性约束条件);

如果完整性约束条件涉及表中多个属性,则必须声明为表级完整性约束条件,否则,既可以声明为表级也可以声明为列级;

2.修改基本表

 

  加入一个新的属性列

  ADD <新列名> <数据类型> <完整性约束>

 

  删除一个完整性约束

  DROP <完整性约束>

 

  ALTER COLUMN <列名> <数据类型>

 

3.删除表                       欲删除表不能被其他表的约束引用,若存在依赖该表的对象,则此表不能够被删除

  DROP TABLE <表名> [RESRTICT|CASCADE]

                                                    删除表没有限制,如果有其他对象依赖该表,不影响表的删除,同时删除依赖的对象

 

4.SELECE [ALL|DISTINCT] <目标列表达式>...(可以有多个)

   FROM <table/view>,<table/view>...(可以有多个 笛卡尔乘积)

   WHERE <条件表达式>

   GROUP BY <列名> HAVING <条件表达式>(GROUP BY后面可以没HAVING,但是HAVING一定要和GROUP BY一同使用)

   ORDER BY <列名> ASC|DESC;

 

后面三行均可以没有

 

 5. 插入元组《这里插入的是记录 而ADD插入的是属性》

 

   INSERT INTO <表名>  <属性列>...

               VALUES <常量1>...

 

 6.修改数据

    UPDATE <表名>

       SET    <列名> = <表达式> {,<列名>=<表达式>...}

       {WHERE <条件表达式>};

  修改指定表中满足where条件的元组

 

7.删除数据

  DELETE

  FROM 《表名》

  WHERE <条件表达式>;

  删除满足条件表达式的元祖,WHERE指定要删除的元组,缺省表示删除表中的全部元组,表的定义还在字典中

 

二。数据库完整性

  1.实体完整性(PRIMARY KEY)

     单属性构成的码可以定义为表级完整性约束条件,也可以定义为列级完整性约束条件。

     如果一个码由多个属性构成,则只能定义为表级完整性约束条件。

 

  在插入或者对主码列进行更新操作时,RDBMS按照实体完整性规则自动进行检查,包括:

   a.检查主码值是否唯一,如果不唯一则拒绝插入或者修改。

   b.检查主码的各个属性是否为空,只要有一个为空就拒绝插入或者修改。

 

2.参照完整性

  在CREATE TABLE中使用FOREIGN KEY定义哪些列为外码,用REFERENCES指明这些外码参照哪些表的主码

  参照完整性的违约处理

  (1)拒绝(NO ACTION)执行——默认策略

  (2)级联(CASCADE)操作,删除元组以及所有的依赖关系 、

  (3)设置为空值(SET-NULL)

      对于参照完整性,除了应该定义外码,还应该定义外码列是否允许空值