例如:按照 department_id 查詢 employees(員工表)和 departments(部門表)
的資訊。
craete table /truncate table /alter table /reanme...to/drop table ..
操作完以後,自動 commit ; 所以, rollback 對其操作,沒有效果
建立表
修改表
清空表中的資料(與delete from table_name
區分開)
truncate table emp2;
重新命名表
rename emp2 to e***;
刪除表
drop table e***;
對建立的表的列屬性、字段進行的限制。諸如 :not null/unique/primary
key/foreign key/check
1. 如何定義約束—在建立表的同時,新增對應屬性的約束
- 1.1 表級約束 & 列級約束
create table emp1(
employee_id number(8),
salary number(8),
–列級約束
hire_date date not null,
dept_id number(8),
email varchar2(8) constraint emp1_email_uk unique,
name varchar2(8) constaint emp1_name_uu not null,
first_name varchar2(8),
–表級約束
constraint emp1_emp_id_pk primary key(employee_id),
constraint emp1_fir_name_uk unique(first_name),
constraint emp1_dept_id_fk foreign key(dept_id) references
departments(department_id) on delete cascade
)
- 1.2 只有 not null 只能使用列級約束。其他的約束兩種方式皆可
2.新增和刪除表的約束–在建立表以後,只能新增和刪除,不能修改
- 2.1 新增
alter table emp1
add constaint emp1_sal_ck check(salary > 0)
2.1.1 對於 not null 來講,不用 add,需要使用 modify:
alter table emp1
modify (salary not null)
- 2.2 刪除
alter table emp1
drop constaint emp1_sal_ck
- 2.3 使某乙個約束失效:此約束還存在於表中,只是不起作用
alter table emp1
disable constraint emp1_email_uk;
- 2.4 使某乙個約束啟用:啟用以後,此約束具有約束力
alter table emp1
enable constraint emp1_email_uk;
常用sql總結
1 查詢表名 select table name from user tables where table name like spm or table name like os 2 比對 兩個使用者中的表的字段,長度,注釋等的差異 在plsql中 tools compare user object...
sql常用操作
建立資料庫 create database nimeux test on name nimeux test,filename d nimeux test.mdf size 4,maxsize 10,filegrowth 1 刪除資料庫 use nimeux test create table dbo...
SQL 常用操作
今天網龍筆試遇到了幾個sql題,現在順便就總結一下常用的sql操作。內連線 只將符合條件的行顯示出來 select s.name,m.mark from student s,mark m where s.id m.studentid select s.name,m.mark from student...