1、數據定義語言DDL:用來定義和管理數據庫中的對象
1、CREAT TABLE /*創建表*/
創建表語法:
CREATE TABLE <表名> (<列名><數據類型> [NULL|NOT NULL]
[列級完整性約束條件] [,<列名><數據類型>[列級完整性約束條件]…][,<表級完整性約束條件>])
create table mytest//創建表
(sid number(6) not null primary key,//創建列sid ,類型number,長度6,不爲空,設爲主鍵
sname varcheat2(10) not null,//創建列sname ,類型varcheat2,長度10,不爲空
ssex char(2) check(ssex in('男','女')));//創建列ssex ,類型char,長度2,設定約束只能取值男女
2、ALTER TABLE /*修改表的屬性*/
ALTER TABLE<表名>
[ADD <新列名><數據類型>[完整性約束]
[DROP<列名>]
[MODIFY]<列名><數據類型>];
alter table mytest
add adderss varchar2(60);//新增列address,類型長度varchar2(60)
3、DROP TABLE /*刪除表*/
drop table mytest;//刪除表mytest
2、數據操作語言DML:用來操作數據庫中的對象和數據,是T-SQL中最常用的部分。
1、 SELECT /*從一個表或多個表中檢索數據*/
SELECT select_list //列名select_list
FROM table_source //表名table_source
[ WHERE search_condition ] //符合的條件search_condition
[ GROUP BY group_by_expression ]//分組
[ HAVING search_condition ]//分組之後的條件
[ ORDER BY order_expression [ ASC | DESC ]
select ename from emp where ename like '_A%';//模糊查詢,ename第一個字符不限制,
第二個字符爲A,後面字符不限制
//(and 並,or 或)
select * from emp order by hiredata desc ;//按照hiredata降序查詢
select deptno,sum(sa1) as payroll from emp//統計列sal別名爲payroll和deptno,表爲emp
group by deptno;//以deptno相同的分爲一組,
select job,sum(sal) as payroll from emp//查詢列job,sol別名payroll,表爲emp
where job not like 'SALE%'//條件爲模糊查詢job列值要有SALE
group by job//分組job
having sum(sal)>5000//條件爲sal和大於5000
order by sum(sal) asc;//升序排列
2、DELETE /*從表中刪除數據*/
DELETE [FROM ]
{table_name |view_name
}
[ WHERE
<search_condtion>
]
delete from emp//刪除的表爲emp
where deptno-(select deptno from dept where dname='SALES')//條件爲deptno=(dept表,deptno列,dname值爲'SALES')
3、INSERT /*向一個表中添加數據*/
INSERT [INTO] { talbe_name |view_name}
{[(column_list)]
{values ({default |NULL |expression } [,…n])}
insert into dept(deptno,dame,loc)//在表的平臺中添加列名deptno,dame,loc中的值
values(20,'develop','dizhi');//按順序添加的值分別爲20,'develop','dizhi'
4、UPDATE /*修改表中已有的數據*/
Update { table_name |view_name }
[from {<table_soource>}[,…n]
SET column_name={expression |default |NULL}[,…]
[where search_condition]
update emp//更新表emp
set deptno-20//更新列deptno的值爲20
where enpno-7782;//條件enpno=7782
update emp//更新表emp
set (job,deptno)-(select job,deptno from emp where enpno-7499);//更新爲,表emp,列爲job,deptno,條件爲enpno-7499的值
where enpno-7698;
3、數據控制語言DCL:用來控制用戶對數據庫對象操作的權限。
主要的命令有:
GRANT /*授予權限*/
REVOKE /*回收所授予的權限*/
grant|revoke 對象權限|all(全部權限)
on 數據庫對象
to 數據庫用戶
[WITH GRANT OPTION]
grant select on emp to myuser////在emp(表)對象下授權myuser用戶具有select查詢權限,
with grant option;//並可將select查詢權限授予其他用戶
revoke select on emp to myuser;//撤銷myuser用戶在emp對象的select查詢條件
4、其他
單引號''區分大小寫