【数据库】创建表以及一些基本的表操作

来源:互联网 发布:mac os x 最新版本 编辑:程序博客网 时间:2024/05/18 20:35

2015-07-22 20:53:15

数据库的创建

CREATE TABLE table( )


三范式:

       1、不可重复( 名字、性别 、年龄)

       2、相关性、创建主键( 学号、名字、性别 、年龄、保洁阿姨名字,)

       3、主键有直接关系的放在原表中,间接关系的用另一张表。外键

       ( 学号、名字、性别 、年龄、班级) (班级、保洁阿姨名字)

        (订单号、货品名字、数量)  (订单号、地址、电话、联系人、接受人,)

创建原则:(设计)who  what  when/where   state(状态)

数据表修改

  增加列:ALTER TABLE table ADD(column datatype[DEFAULT expr][, column datatype]...);

                 试为student增加一列学生性别 默认值 “女”。

                ALTER TABLE`student` add `sex` VARCHAR(2) CHARACTER SET utf8 COLLATE utf8_general_cidefault '女'


 修改字段信息:

 altertable test4 MODIFY tel char(100)  --需要先把原数据清空、没有括号


 删除表

       1、drop table XX

       2、(截断)TRUNCATE talbe XX   删除不可恢复、事务不可回滚


重命名:

       RENAME table  old_name TO new_name  mysql

       RENAME test to test4            oracle


约束

     PRIMARY KEY  主键

     FOREIGN KEY     外键

     NOT NULL 非空

     UNIQUE  唯一

      CHECK 指定一个必须为真的条件


表中数据的操作(DML)

       (一)、数据新增 (单行)

       insertinto aa(date1)  values(DATE_FORMAT('2011-11-11','%y-%m-%d'))-mysql日期转换

       insertinto aa(date1)  values(to_date('2011-11-11','yyyy-mm-dd'))       -oracle 日期转换

       (多行)

       insertinto test    select * from test   (*  查询结果的列个数和顺序与test相同)

    (二)、修改数据

       UPDATE表名 SET 列名=表达式[,列名=表达式,···]

              [WHERE条件表达式];

    (三)、删除数据

       DELETE  FROM 表名[WHERE 条件表达式];   mysql 中必须写 from/oracle 可以省略

     (四)MERGE:历史记录表(如果两张表中都含有的数据,根据B修改 a ,如果 b中数据a中没有,则新增数据到a中)




0 0