SQL 基礎語句2

2021-08-08 03:51:38 字數 2841 閱讀 3329

列名 資料型別 預設值 約束

create table customer(

id number(7) primary key,

name char(25) not null,

phone varchar2(20) unique

)刪除表

drop table customer

主鍵約束可以寫在列後,也可以寫在所有列之後。列級約束和表級約束

primary key 描述一列為主鍵,非空且唯一 not null 非空 unique 唯一

聯合主鍵只能在表級中宣告,無法再列級約束宣告

create table customer(

id number(7) ,

name char(25) ,

phone varchar2(20),

emp_id number(7),

primary key(id),

foreign key(emp_id) references s_emp(id),

unique(name)

)檢查型約束,只能是指定的幾個值

create table student(

gender varchar(5) check(gender in(『男』,』女』))

)表可以通過子查詢建立(複製一張表)

通過子查詢建立表,只會保留非空約束。即主鍵失效了

create table emp1(

id number(7),

last_name varchar2(25),

salary number(7)

)只複製結構,不要資料

create table emp2

as select *

from s_emp

where 1=0;

設定預設值 default

create table student2(

name varchar2(10) default 『李狗蛋』,

age number(7) default 0

)新增新的列

alter table emp1

add(

manager_id number(7)

)刪除表中列

alter table emp1

drop column manager_id

通過字典,系統表查詢使用者表的資訊

select table_name,column_name,date_type,data_length

from user_tab_columns

order by table_name;

使用者建立的表

select table_name,num_rows

from user_tables;

級聯刪除,當刪除外來鍵列時刪除,會刪除外來鍵列所關聯的資訊

create table my_order(

id number(7) primary key,

name varchar2(20) not null,

emp_id number(7)references my_emp(id)

on delete cascade

); 清空表 清空資料

delete from

1 dml

2 刪除資料,但是不清空表空間

移到**站

truncate

1 ddl

2 刪除資料,清空表空間

清空**站

序列 create sequence seq1

increment by 2

start with 10;

獲取序列的下乙個值

select seq1.nextval

from dual;

檢視 需要許可權,通過grant create any view to briup(管理員許可權)

create view v_emp

as select id,last_name,salary

from s_emp

簡單檢視 直接通過單錶條件查詢,允許直接在檢視上進行增,刪,修改資料。會關聯到原表中,更改原表中資料也會關聯到檢視中。

update v_emp

set last_name = 『hello』

where id=99;

複雜檢視 通過group by 或者 連線查詢, 在檢視上只能進行查詢。但原表中的更改會影響檢視

檢視沒有 alter命令,修改檢視使用create or replace view

create or replace view v_emp

as select e.last_name,e.id,d.name,e.salary

from s_emp e,s_dept d

where e.dept_id = d.id

with read only 只允許讀

with check option 建立檢視時,所用到的列不允許修改

行列互換

select name as 「姓名」,

max(case subject when 『語文』 then score else 0 end) as 「語文」 ,

max(case subject when 『英語』 then score else 0 end ) as 「英語」 ,

max(case subject when 『數學』 then score else 0 end ) as 「數學」

from student

group by name

order by name

SQL基礎語句

一.資料庫查詢語句 select 1.查詢所有資料 select from 表名 select from exam books 2.按照一定的條件查詢 select from 表名 where 條件 select from exam books where id 20 3.範圍條件查詢 select...

SQL基礎語句

1.1.1dml 資料操作語言 1.1.2 ddl 資料定義語言 select update delete insert 1.2.1 select語法a.查詢所有 select from 表名 b.查詢列 select 列名 from 表名 注意 查詢列名時,列名用逗號隔開,最後的列名不要加逗號1....

基礎sql語句

從資料庫中刪除資料 delete 插入資料 insert into 建立新資料庫 create database 修改資料庫 alter database 建立新錶 create table 變更資料庫表 alter table 刪除表 drop table 建立索引 create index 刪除...