数据库1

创建表格:
create table 表名(字段 数据类型);
create table t_user(id integer,name varchar2(12));
数据类型 :
  char:长度不可变 效率高 例如性别 sex char(3), 在oracle里面一个中文表示三个字节
  varchar2 : 长度可变 效率低 节约空间 例如个性签名
  char(10) tom_______
  varchar(10) tom
  clob: 大文本类型: 可以保存最大的容量为4g
  nember(个位和两位) numeber(m,n)小数就是n  整数就是 m-n  float
  date 日期类型
往表中插入数据:insert into 表名 values(对应的值);
   例如 : insert into t_user values(1,'tom');
查看表的结构:desc 表名;例如: desc t_user;
修改表的结构: alter table t_user add(sex char(3));  添加一个字段
               alter table t_user modify(id numeber(4)); 修改表格的字段
               创建表格的时候应该设计周全,避免修改表格
重命名表格: rename 旧表名 to 新表名
可以将代码写在脚本里面再在控制台上运行
ed d:/a.sql;
@ d:/a
查看表格的具体东西
select * form 表名;

updata 表名 set 字段=新值 [条件 where id = 1];
as: updata t_user set name='arron'
现在就是把表的所有的name都改成了arron
updata t_user set name = 'arron' where id =1;
只在id=1的时候将name改成arron
删除数据
delete from t_user where id = 2; 删除的条件
rollback ; 恢复到上次提交的地方
commit; 提交到硬盘当中 缓存中的数据提交到数据库中
完整性: 唯一 + 正确
五中约束:
1、 主键约束: primary key;
as:  1.id integer primary key,
     2.primary key (id),//在字段和数据类型最后面
     3. 修改表的时候:  alter tabel t_user add constraint PK_USER_ID primary key (id);
              删除约束:alter table t_user drop constraint PK_USER_ID;
2.  唯一约束: 可插空值  unique
as:1. name varchar2(12) unique,
    2. alter table t_user add constraint UQ_USER_NAME unique(name);
3.  检查约束   sex char(3) check(sex = '男' or sex ='女'),
            email char(15) check (email like '%@%') ,
            @:任意长度的任意字符
            _;一个任意字符
           alter table t_user add constraint CK_USER_EMAIL check(email like '%@%');
4. 非空约束  not null ;
5. 外键约束
  一张表描述一件事
  实体与实体之间的关系: 一多  一一 多多 多一
主表:先有的 class  主键  确保两张表的正确性
从表: student       外键
as: cid integer,
    foreign key(cid) references t_class (id),
as 2 : altle tabel t_student add constraint FK_STUDENT_CID foreign key(id);

create sequence sq_user minvalue 0;//创建一个序列
insert into t_user values(sq_user.nextVal,'arron');

 

posted @ 2012-07-16 23:16  会飞的辉  阅读(160)  评论(0编辑  收藏  举报