第一篇:幾個(gè)簡單的基本的sql語句
幾個(gè)簡單的基本的sql語句
(1)數(shù)據(jù)記錄篩選:
sql=“select * from 數(shù)據(jù)表 where 字段名=字段值 order by 字段名
[desc]”
sql=“select * from 數(shù)據(jù)表 where 字段名 like '%字段值%' order by 字段名 [desc]”
sql=“select top 10 * from 數(shù)據(jù)表 where 字段名 order by 字段名
[desc]”
sql=“select * from 數(shù)據(jù)表 where 字段名 in('值1','值2','值3')”
sql=“select * from 數(shù)據(jù)表 where 字段名 between 值1 and 值2”
(2)更新數(shù)據(jù)記錄:
sql=“update 數(shù)據(jù)表 set 字段名=字段值 where 條件表達(dá)式”
sql=“update 數(shù)據(jù)表 set 字段1=值1,字段2=值2 …… 字段n=值n where 條件表達(dá)式”
(3)刪除數(shù)據(jù)記錄:
sql=“delete from 數(shù)據(jù)表 where 條件表達(dá)式”
sql=“delete from 數(shù)據(jù)表”(將數(shù)據(jù)表所有記錄刪除)
(4)添加數(shù)據(jù)記錄:
sql=“insert into 數(shù)據(jù)表(字段1,字段2,字段3 …)values(值1,值2,值3 …)”
sql=“insert into 目標(biāo)數(shù)據(jù)表 select * from 源數(shù)據(jù)表”(把源數(shù)據(jù)表的記錄添加到目標(biāo)數(shù)據(jù)表)
(5)數(shù)據(jù)記錄統(tǒng)計(jì)函數(shù):
AVG(字段名)得出一個(gè)表格欄平均值
COUNT(*¦字段名)對(duì)數(shù)據(jù)行數(shù)的統(tǒng)計(jì)或?qū)δ骋粰谟兄档臄?shù)據(jù)行數(shù)統(tǒng)計(jì)
MAX(字段名)取得一個(gè)表格欄最大的值
MIN(字段名)取得一個(gè)表格欄最小的值
SUM(字段名)把數(shù)據(jù)欄的值相加
引用以上函數(shù)的方法:
sql=“select sum(字段名)as 別名 from 數(shù)據(jù)表 where 條件表達(dá)式”set rs=conn.excute(sql)
用 rs(“別名”)獲取統(tǒng)計(jì)的值,其它函數(shù)運(yùn)用同上。
查詢?nèi)コ貜?fù)值:select distinct * from table1
(5)數(shù)據(jù)表的建立和刪除:
CREATE TABLE 數(shù)據(jù)表名稱(字段1 類型1(長度),字段2 類型2(長度)……)
第二篇:基本sql語句
典型SQL語句匯總
Sys用戶是超級(jí)用戶,具有sysdba的角色,密碼是:change_on_install。System用戶是管理操作員,具有sysoper的角色,密碼是:manager。
普通登錄用戶:
用戶名:scott,密碼:tiger
用戶名:sys,密碼:change_on_install
用戶名:system,密碼:manager
用戶名:sysman,密碼:oem_temp
1.創(chuàng)建用戶:create user
2.給用戶修改密碼:alter user 用戶名 identified by 密碼
3.刪除用戶:drop user 或者drop user 用戶名[cascade]
4.授權(quán)操作
1)授權(quán)連接:grant connect to xiaoming
2)連接數(shù)據(jù)庫:conn xiaoming/m1234
3)授權(quán)小明對(duì)emp表的選擇操作:grant select on emp to xiaoming
4)授權(quán)小明對(duì)emp表的更新操作:grant update on emp to xiaoming
5)授權(quán)小明對(duì)emp表的所有操作:grant all on emp to xiaoming
6)對(duì)象權(quán)限授權(quán):grant select on emp to xiaoming with grant option
7)系統(tǒng)權(quán)限授權(quán):grant connect to xiaoming with admin option
5.建表
表1:Create table student(xh number(4),表2:create table classes(Xm varchar2(20),classId number(2),Sex char(2),className varchar2(40),Birthday date,);
Sal number(7,2));
6.對(duì)上述兩張表的操作:
1)添加一個(gè)字段:alter table student add(classId number(2))
2)修改字段長度:alter table student modify(xm varchar2(30))
3)刪除一個(gè)字段:alter table student drop column sal
4)修改表的名字:rename student to stu
5)刪除表:drop table student
6)改變?nèi)掌诘母袷剑篴lter session set nls_date_format=?yyyy_mm_dd?
7)添加數(shù)據(jù):insert into student values(?A001?,?張三?,?男?,?11-12月
-1997?,?113.5?,10)或者insert into student(xh,xm,sex,birthday)values(?1?,?aa?,?女?,null)
8)修改數(shù)據(jù):update student set sex=?女?where xh=?A001?,修改多個(gè)字段:update student set sal=sal/2,classId=3 where sex=?男?
9)刪除數(shù)據(jù):
Delete from student;--刪除表
Drop table student;--刪除表的結(jié)構(gòu)和數(shù)據(jù)
Delete from student where sal=2000;--刪除表中的數(shù)據(jù)
Truncate table student;--刪除表中的所有記錄,表結(jié)構(gòu)還在,無法找回刪除的記錄,速度快
7.表的查詢
Select ename,sal,job from emp
Select sal*13+nvl(comm,0)*13 “年工資”,ename from emp
Select ename,sal from emp where sal>=2000 and sal<=2500
Select distinct ename,deptno from emp;--取消重復(fù)行
Select * from emp where sal>(select avg(sal)from emp)
8.如何使用like操作符:%:任意0到多個(gè)字符,_:表示任意單個(gè)字符
Select ename,sal from emp where ename like ?s%?
Select ename,sal from emp where ename like ?_s%?
9.where條件中in的使用:
Select * from emp where empno in(7844,7566)
Select * from emp where mgr is null
10.order by的使用
Select * from emp order by deptno asc,sal desc,hiredate desc;--排序默認(rèn)是asc
11.group by用于對(duì)查詢結(jié)果進(jìn)行分組統(tǒng)計(jì)。
Having用于限制分組顯示結(jié)果。
Select avg(sal),deptno from emp
group by deptno
having avg(sal)<2000
12.創(chuàng)建存儲(chǔ)過程
1)先創(chuàng)建一個(gè)簡單的表:
Create table mytest(name varchar2(30),password varchar2(30))
2)創(chuàng)建過程:
過程1:
create procedure sp_pro1 is
begin
insert into mytest(?EE?,?m1234?);
end;
過程2:
create or replace procedure sp_pro2 is
begin
delete from mytest where name=?EE?;
end;
select * from rh_blood where userid='K999998264' and f_datetime_device between TO_DATE('2014-01-01 00:00:01','yyyy-mm-dd hh24:mi:ss')and
TO_DATE('2014-01-31 23:23:59','yyyy-mm-dd hh24:mi:ss');
第三篇:SQL基本操作語句筆記
一、SQL基本操作語句(DML):Insert,Select,Update,Delete1、INSERT語句:將一行記錄插入到指定的一個(gè)表中。
1.1語法:
INSERTINTOtable[(column { ,column})]ALUES(columnvalue [{,columnvalue}])
1.2舉例:
1.2.1、INSERTINTOEMPLOYEESVALUES('Smith','John','1980-06-10','Los Angles',16,45000);
1.3注意事項(xiàng):
1.3.1、系統(tǒng)將試著將數(shù)值填入到相應(yīng)的列中,按照創(chuàng)建表時(shí)定義的順序排列。
1.3.2、VALUE子句和可選的列名列表中必須使用圓括號(hào)。
1.3.3、未列出的列中將自動(dòng)填入缺省值,如果沒有設(shè)置缺省值則填入NULL。
1.3.4、所有的整形十進(jìn)制數(shù)都不需要用單引號(hào)引起來,而字符串和日期類型的值都要用單引號(hào)來區(qū)別。
1.3.5、輸入文字值時(shí)要使用單引號(hào),雙引號(hào)用來封裝限界標(biāo)識(shí)符。
2、SELECT語句:可以從一個(gè)或多個(gè)表中選取特定的行和列。
2.1語法:
SELECT[DISTINCT](column [{, columns}])| * FROM table [ {, table}][ORDER BY column [ASC] | DESC [ {, column [ASC] | DESC }]]WHEREpredicate [ { logical-connector predicate } ]
2.2舉例:
2.2.1SELECTBRANCH_OFFICEFROMEMPLOYEES 最簡單的語句
2.2.2SELECTBRANCH_OFFICEFROMEMPLOYEES 消除結(jié)果中的重復(fù)行的語句
2.2.3SELECTBRANCH_OFFICEFROMEMPLOYEESORDER BY BRANCH_OFFICE消除結(jié)果中重復(fù)行并按照升序排列,降序用關(guān)鍵字DESC
2.2.4SELECTFROMEMPLOYEES 選擇表中所有數(shù)據(jù)可用*號(hào)
2.3定義選擇標(biāo)準(zhǔn):SELECTcolumnsFROMtables[WHEREpredicates]
舉例:SELECT * FROMEMPLOYEESWHERELAST_NAME = 'Jones' 查詢所有姓為Jones的職員 使用最多的六種比較:等于 =,不等于 <>,小于 <,大于 >,小于或等于 <=,大于或等于 >=
2.3.1邏輯連接符:為了進(jìn)一步定義一個(gè)WHERE子句,可以使用邏輯連接符AND,OR和NOT,斷言可以與其他的斷言嵌套使用。
例1:為了只得到職員Davy Jones的記錄,用戶可以輸入如下語句:SELECT * FROMEMPLOYEESWHERELAST_NAME = 'Jones'ANDFIRST_NAME = 'Davy'
例2:如果用戶需要定義一個(gè)SELECT語句來使得當(dāng)其中任何一項(xiàng)成立就滿足條件時(shí),可以使用OR連接符:SELECT * FROMEMPLOYEESWHERELAST_NAME = 'Jones'ORLAST_NAME = 'Smith'
例3:如果想要查看除了Boston辦事處的職員以外的其他所有職員的信息時(shí),可以進(jìn)行如下的查詢:SELECT * FROMEMPLOYEESWHERENOT(BRANCH_OFFICE = 'Boston')
3、UPDATE語句:在已知的表中對(duì)現(xiàn)有的行進(jìn)行修改。
3.1語法:
UPDATE table SET column = value [{,column = value}][ WHERE predicate [ { logical-connector predicate}]]
3.2舉例:
3.2.1UPDATEEMPLOYEESSETGRADE = 16, SALARY = 40000WHEREFIRST_NAME = 'Indiana' ANDLAST_NAME = 'Jones'
4、DELETE語句:用來刪除已知表中的行。
4.1語法:DELETEFROMtable[WHERE predicate [ { logical-connector predicate} ] ]
4.2舉例:DELETEFROMEMPLOYEESWHEREBRANCH_OFFICE = 'Los Angeles'
第四篇:SQL語言基本語句介紹
SQL語言基本語句介紹
表的建立
關(guān)系數(shù)據(jù)庫的主要特點(diǎn)之一就是用表的方式組織數(shù)據(jù)。表是SQL語言存放數(shù)據(jù)、查找數(shù)據(jù)以及更新數(shù)據(jù)的基本數(shù)據(jù)結(jié)構(gòu)。在SQL語言中,表有嚴(yán)格的定義,它是一種二維表,對(duì)于這種表有如下規(guī)定:
1)每一張表都有一個(gè)名字,通常稱為表名或關(guān)系名。表名必須以字母開頭,最大長度為30個(gè)字符。
2)一張表可以由若干列組成,列名唯一,列名也稱作屬性名。
3)表中的一行稱為一個(gè)元組,它相當(dāng)于一條記錄。
4)同一列的數(shù)據(jù)必須具有相同的數(shù)據(jù)類型。
5)表中的每一個(gè)列值必須是不可分割的基本數(shù)據(jù)項(xiàng)。
注意:當(dāng)用戶需要新的數(shù)據(jù)結(jié)構(gòu)或表存放數(shù)據(jù)時(shí),首先要生成一個(gè)表。
語法:
CREATE TABLE 表名 [表約束]
(列名1 數(shù)據(jù)類型 [缺省值1,列約束1]
(列名2 數(shù)據(jù)類型 [缺省值2,列約束2]
…
列名n 數(shù)據(jù)類型 [缺省值n,列約束n]
[TABLESPACE 表空間名稱]
[STORAGE(存貯的子句)]
[ENABLE 約束名]
[DISABLE 約束名]
插入數(shù)據(jù)
當(dāng)一個(gè)表新建成時(shí),它里面沒有數(shù)據(jù),通過向表中扦入數(shù)據(jù),建成表的實(shí)例。
語句句法:
INSERT INTO 表名[(列名1,…)]
VALUES(值1,值2,…,值n)
[子查詢];
假設(shè)有一張表Student如下所示:
NO NAME AGE
1001 A 12
1002 B 14
將新學(xué)生E增加到上表中,并按照表的結(jié)構(gòu)將信息添加完整,需要如下語句:
INSERT INTO STUDENT VALUSE(1003, 'E',12);
修改數(shù)據(jù)
對(duì)表中已有數(shù)據(jù)進(jìn)行修改,語句句法:
UPDATE 表名SET 列名1=表達(dá)式1,列名2=表達(dá)式2,…
WHERE 條件;
例如:對(duì)下表Student
NO NAME AGE
1001 A 12
1002 B 14
將B的年紀(jì)改為18;應(yīng)該執(zhí)行以下語句:
UPDATE STUDENT SET AGE=18 WHERE NAME='B';
刪除數(shù)據(jù)
刪除表中已有數(shù)據(jù),不能刪除不存在的數(shù)據(jù)。
語句句法:
DELETE FROM 表名 WHERE 條件;
例如:
對(duì)下面Student表進(jìn)行刪除,要?jiǎng)h除其中年紀(jì)為12的學(xué)生;
NO NAME AGE
1001 A 12
1002 B 14
DELETE FROM STUDENT WHERE AGE=12;
表結(jié)構(gòu)的修改
在已存在的表中增加新列,語句句法:
ALTER TABLE 表名 ADD(新列名 數(shù)據(jù)類型(長度));
例如:
ALTER TABLE STUDENT ADD(DEPARTMENT CHAR(8));
b.增加已有列的數(shù)據(jù)類型。
例如:
ALTER TABLE STUDENT MODIFY(NAME VARCHAR2(25));
表的刪除
將已經(jīng)存在的表刪除,語句句法:
DROP TABLE表名;
例如:
DROP TABLE EMP;
查詢語句
SELECT命令的語法為:
SELECT [DISTINCT|ALL] {*|模式名.] {表名|視圖名|
快照名].*…| {表達(dá)式[列別名]…} } [, [模式名.] {表名|
視圖名|}.*…| 表達(dá)式[列別名] ]…
FROM [模式名.] {表名|視圖名|快照名} [@數(shù)據(jù)庫鏈名] [表別名]
[, [模式名.] {表名|視圖名|快照名} [@數(shù)據(jù)庫鏈名]
[表別名] ]…
[WHERE條件]
[START WITH條件 CONNECT BY 條件]
[GROUP BY表達(dá)式[,表達(dá)式] …[HAVING條件]
[UNION|UNION ALL |INTERSECT|MINUS]SELECT命令
[ORDER BY{表達(dá)式|位置} [ASC|DESC] [, {表達(dá)式|位置[ASC|DESC]}]…]
例如:對(duì)于STUDENT表:
NO NAME AGE
1001 AE 12
1002 BT 14
(1)查詢年紀(jì)為12的學(xué)生姓名;
SELECT STUDENT.NAME FROM STUDENT WHERE AGE=12;
(2)查詢年紀(jì)在12至16歲之間的學(xué)生姓名;
SELECT STUDENT.NAME FROM STUDENT WHERE AGE BETWEEN 12 AND 16;
(3)查詢年紀(jì)不在12至16歲之間的學(xué)生姓名;
SELECT STUDENT.NAME FROM STUDENT WHERE AGE NOT BETWEEN 12 AND 16;
(4)查詢所有姓名以A開頭的學(xué)生的姓名;
SELECT STUDENT.NAME FROM STUDENT WHERE NAME LIKE 'A%';
(5)列出所有學(xué)生年紀(jì)的和,年紀(jì)的平均值,最大值,最小值,最大值與最小值之間的差值;
SELECT AVG(AGE), SUM(AGE), MAX(AGE), MIN(AGE), MAX(AGE)-MIN(AGE);
(6)將所有學(xué)生按學(xué)號(hào)順序升序排列;
SELECT * FROM STUDENT ORDER BY NO DESC;
(7)將所有學(xué)生按學(xué)號(hào)順序升序排列;
SELECT * FROM STUDENT ORDER BY NO ASC;
第五篇:sql常用語句
//創(chuàng)建臨時(shí)表空間
create temporary tablespace test_temp
tempfile 'E:oracleproduct10.2.0oradatatestservertest_temp01.dbf'size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
//創(chuàng)建數(shù)據(jù)表空間
create tablespace test_data
logging
datafile 'E:oracleproduct10.2.0oradatatestservertest_data01.dbf'size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
//創(chuàng)建用戶并指定表空間
create user username identified by password
default tablespace test_data
temporary tablespace test_temp;
//給用戶授予權(quán)限
//一般用戶
grant connect,resource to username;
//系統(tǒng)權(quán)限
grant connect,dba,resource to username
//創(chuàng)建用戶
create user user01 identified by u01
//建表
create table test7272(id number(10),name varchar2(20),age number(4),joindate date default sysdate,primary key(id));
//存儲(chǔ)過程
//數(shù)據(jù)庫連接池
數(shù)據(jù)庫連接池負(fù)責(zé)分配、管理和釋放數(shù)據(jù)庫連接
//
//創(chuàng)建表空間
create tablespace thirdspace
datafile 'C:/Program Files/Oracle/thirdspace.dbf' size 10mautoextend on;
//創(chuàng)建用戶
create user binbin
identified by binbin
default tablespace firstspace
temporary tablespace temp;
//賦予權(quán)限
GRANT CONNECT, SYSDBA, RESOURCE to binbin
//null與""的區(qū)別
簡單點(diǎn)說null表示還沒new出對(duì)象,就是還沒開辟空間
個(gè)對(duì)象裝的是空字符串。
//建視圖
create view viewname
as
sql
//建索引
create index indexname on tablename(columnname)
//在表中增加一列
alter table tablename add columnname columntype
//刪除一列
alter table tablename drop columnname
//刪除表格內(nèi)容,表格結(jié)構(gòu)不變
truncate table tableneme
//新增數(shù)據(jù)
insert into tablename()values()
//直接新增多條數(shù)據(jù)
insert into tablename()
selecte a,b,c
from tableabc
//更新數(shù)據(jù) new除了對(duì)象,但是這“”表示
update tablename set columnname=? where
//刪除數(shù)據(jù)
delete from tablename
where
//union語句
sql
union
sql
//case
case
when then
else
end