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 非空
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中)