一般的なデータベース操作Oralce
記事のディレクトリ
データベースの全体的な構造
-
データベース(データベース)
データベースは、整理、保存、データウェアハウスを管理するためのデータ構造に基づいています
-
表領域(表スペース)
表スペースは、データベースの論理的に分割され、表スペースは、データベースに属することができます。すべてのデータベースオブジェクトは、指定された表スペースに格納されています。しかし、オブジェクトは、メインテーブルに保存されているので、テーブルスペースと呼ばれています。
-
セグメント(段)
組織構造が重要なセグメント・テーブル・スペース、宇宙セグメントは、スペースを汎用データファイルのコレクション占めている、またはデータベースオブジェクトが使用され、セグメントはその上のテーブル・セグメント、索引セグメント、ロールバックセグメント、一時セグメントとキャッシュ部分とを持つことができます。
-
エクステント(パネル)
論理ユニットは、それが連続したデータブロックで構成され、データベース・ストレージ・スペースの割り当てです。最初のセグメントは、1つ以上のエクステントから構成されています。空間の中間部分の全てが完全に使用されている場合、セグメントのOracleは、新しい範囲を割り当てます
-
DataBlook(データブロック)
oralceファイルの管理データ記憶部、I / Oの最小単位は、標準的なオペレーティング・システムI / Oブロックサイズのサイズと異なっていてもよいデータベースで使用され
2データベースを作成します。
表3
3.1テーブルを作成します。
CREATE TABLE 表名 (
字段名 字段类型 约束条件,
字段名 字段类型 约束条件
);
--添加注释
--COMMENT ON COLUMN 表名.字段名 IS '注释内容';
comment on column student.name is '学生姓名';
3.2テーブルの削除
--删除表的结构,彻底删除该表
DROP TABLE 表名;
3.3テーブルを変更します
--修改表明
ALTER TABLE (原)表名 RENAME TO (新)表名;
表4のデータ
データの追加4.1
--表中添加数据
INSERT INTO 表名(字段名1,字段名2,字段名3,..) VALUES(值1(字段名1),值2(字段名2),值3(字段名3),..)
insert into student(id,name,sex,age) values(1,'曾华','男',16);
4.2データを削除します
--删除数据
DELETE FROM 表名 WHERE 条件;
delete from studentinfo where studentid=1;
4.3データを変更
--修改数据
UPDATE 表名 SET (要修改)字段名 = (新的)值 WHERE 条件;
update studentinfo set studentsex='女' where studentid=1;
4.3クエリデータ
データベースの重要な部分は、最大話すためにここにはもはやありません
4.4スペシャルエディション----制約
制約(5種類(主キー、外部キー、非空で、チェックのみ)):
制約 | 説明 |
---|---|
主キー | 主キー制約 |
外部キー | 外部キー制約 |
nullではない/ nullに | 非空制約/ NULL制約 |
小切手 | 制約をチェック |
独自のデフォルト「デフォルト」 | 唯一の制約 |
-
主キー
-
テーブルを構築するために制約を追加
--注释 constraint 约束名 primary key(约束列) create table student( id number(8,0), name varchar2(20), constraint pk_id primary key(id) ); --或者 create table student( id number(8,0) primary key, --如果此处这样定义主键,则主键名称系统自己定义设置 --id number(8,0) constraint pk_id primary key; name varchar2(20) );
-
テーブルを構築するために制約を追加した後
--alter table 表名 add constraint 主键名 primary key(要设为主键的列名); create table student( id number(8,0), name varchar2(20) ); alter table student add constraint pk_id primary key(id);
-
ドロッププライマリ
--1. alter table 表名 drop constraint 主键名 alter table student drop constrait pk_id; --2. alter table 表名 drop primary key alter table student drop primary key;
-
-
外部キー
一般的には冒頭に外部キー名「fK_」、
-
テーブルを構築するために制約を追加
--constraint 外键名(一般外键名称为”fK_”开头) foreign key (要设为外键的列名) references 主表名(主表中该列列名) create table dept( deptid number(8,0) primary key, deptname varchar2(20), constraint fk_deptid foreign key(deptid) references dept(deptid) );
-
テーブルを構築するために制約を追加した後
--alter table 从表名 add constraint 外键名称 foreign key(要设为外键的列名) references 主表名(主表中该列列名); alter table student add constraint fk_deptid foreign key(deptid) references dept(deptid);
-
外部キーを削除します
--alter table "表名" drop constraint "外键名" alter table dept drop constraint fk_deptid;
-
-
nullではありません
-
テーブルを構築するために制約を追加
create table student( id number(8,0), name varchar2(20) not null, constraint pk_id primary key(id) --注释 constraint 约束名 primary key(约束列) );
-
テーブルを構築するために制約を追加した後
--alter table 表名 modify 列名 not null/null; --如果表中已经存在null,就不能更改其为not null约束 alter table student modify name not null;
-
削除-NULL制約
--alter table 表名 modify 列名 null; --删除非空,就是将其设为空 alter table student modify name null;
-
-
小切手
-
テーブルを構築するために制約を追加
--constraint 列名 check(检查约束的条件); create table student( id number(8,0) primary key, name varchar2(20), age number(3,0), constraint name check (age>=15 and age<=25) );
-
テーブルを構築するために制約を追加した後
--alter table 表名 add constraint 列名 check(检查条件); alter table student add constraint age check(age>=15 and age<=25);
-
チェック制約を削除します。
--alter table 表名 drop constraint 列名; alter table student drop constraint age;
-
-
ユニーク
-
テーブルを構築するために制約を追加
--constraint unique_列名 unique(列名) create table student( id number(8,0) primary key, name varchar2(20), age number(3,0), constraint unique_name unique(name) );
-
テーブルを構築するために制約を追加した後
--alter table 表明 add constraint unique_列名 unique(列名); alter table student add constraint unique_name unique(name);
-
ユニーク制約をドロップ
--alter table 表明 drop constraint unique_列名; alter table student drop constraint unique_name;
-
注5
データベースの変更は、部門の最終面で必要とされるたびに、提出データベースにバーバラへの変更にこのデータを保存します
--commit 是一次性提交到数据库保存,不commit就不会真正存储到数据库中。
--rollback 是回滚操作,代表的意思就是不commit就可以回滚到上一次操作