如何使用SQL?
掌握SQL四條最基本的數據操作語句:Insert,Select,Update和Delete。
練掌握SQL是數據庫用戶的寶貴財 富。掌握四條最基本的數據操作語句—SQL的核心功能—來依次介紹比較操作符、選擇斷言以及三值邏輯。
當你完成這些學習后,顯然你已經開始算是精通SQL了。 在我們開始之前,先使用CREATE TABLE語句來創建一個表(如圖1所示)。
DDL語句對數據庫對象如表、列和視進行定義。它們并不對表中的行進行處理,這是因為DDL語句并不處理數據庫中實際的數據。
這些工作由另一類SQL語句—數據操作語言(DML)語句進行處理。 SQL中有四種基本的DML操作:INSERT,SELECT,UPDATE和DELETE。
由于這是大多數SQL用戶經常用到的,我們有必要在此對它們進行一一說明。在圖1中我們給出了一個名為EMPLOYEES的表。
其中的每一行對應一個特定的雇員記錄。請熟悉這張表,我們在后面的例子中將要用到它。
INSERT語句 用戶可以用INSERT語句將一行記錄插入到指定的一個表中。例如,要將雇員John Smith的記錄插入到本例的表中,可以使用如下語句: INSERT INTO EMPLOYEES VALUES ('Smith','John','1980-06-10', 'Los Angles',16,45000); 通過這樣的INSERT語句,系統將試著將這些值填入到相應的列中。
這些列按照我們創建表時定義的順序排列。在本例中,第一個值“Smith”將填到第一個列LAST_NAME中;第二個值“John”將填到第二列FIRST_NAME中……以此類推。
我們說過系統會“試著”將值填入,除了執行規則之外它還要進行類型檢查。如果類型不符(如將一個字符串填入到類型為數字的列中),系統將拒絕這一次操作并返回一個錯誤信息。
如果SQL拒絕了你所填入的一列值,語句中其他各列的值也不會填入。這是因為SQL提供對事務的支持。
一次事務將數據庫從一種一致性轉移到另一種一致性。如果事務的某一部分失敗,則整個事務都會失敗,系統將會被恢復(或稱之為回退)到此事務之前的狀態。
回到原來的INSERT的例子,請注意所有的整形十進制數都不需要用單引號引起來,而字符串和日期類型的值都要用單引號來區別。為了增加可讀性而在數字間插入逗號將會引起錯誤。
記住,在SQL中逗號是元素的分隔符。 同樣要注意輸入文字值時要使用單引號。
雙引號用來封裝限界標識符。 對于日期類型,我們必須使用SQL標準日期格式(yyyy-mm-dd),但是在系統中可以進行定義,以接受其他的格式。
當然,2000年臨近,請你最好還是使用四位來表示年份。 既然你已經理解了INSERT語句是怎樣工作的了,讓我們轉到EMPLOYEES表中的其他部分: INSERT INTO EMPLOYEES VALUES ('Bunyan','Paul','1970-07-04', 'Boston',12,70000); INSERT INTO EMPLOYEES VALUES ('John','Adams','1992-01-21', 'Boston',20,100000); INSERT INTO EMPLOYEES VALUES ('Smith','Pocahontas','1976-04-06', 'Los Angles',12,100000); INSERT INTO EMPLOYEES VALUES ('Smith','Bessie','1940-05-02', 'Boston',5,200000); INSERT INTO EMPLOYEES VALUES ('Jones','Davy','1970-10-10', 'Boston',8,45000); INSERT INTO EMPLOYEES VALUES ('Jones','Indiana','1992-02-01', 'Chicago',NULL,NULL); 在最后一項中,我們不知道Jones先生的工薪級別和年薪,所以我們輸入NULL(不要引號)。
NULL是SQL中的一種特殊情況,我們以后將進行詳細的討論。現在我們只需認為NULL表示一種未知的值。
有時,像我們剛才所討論的情況,我們可能希望對某一些而不是全部的列進行賦值。除了對要省略的列輸入NULL外,還可以采用另外一種INSERT語句,如下: INSERT INTO EMPLOYEES( FIRST_NAME, LAST_NAME, HIRE_DATE, BRANCH_OFFICE) VALUE( 'Indiana','Jones', '1992-02-01','Indianapolis'); 這樣,我們先在表名之后列出一系列列名。
未列出的列中將自動填入缺省值,如果沒有設置缺省值則填入NULL。請注意我們改變了列的順序,而值的順序要對應新的列的順序。
如果該語句中省略了FIRST_NAME和LAST_NAME項(這兩項規定不能為空),SQL操作將失敗。 讓我們來看一看上述INSERT語句的語法圖: INSERT INTO table [(column { ,column})] VALUES (columnvalue [{,columnvalue}]); 和前一篇文章中一樣,我們用方括號來表示可選項,大括號表示可以重復任意次數的項(不能在實際的SQL語句中使用這些特殊字符)。
VALUE子句和可選的列名列表中必須使用圓括號。 SELECT語句 SELECT語句可以從一個或多個表中選取特定的行和列。
因為查詢和檢索數據是數據庫管理中最重要的功能,所以SELECT語句在SQL中是工作量最大的部分。實際上,僅僅是訪問數據庫來分析數據并生成報表的人可以對其他SQL語句一竅不通。
SELECT語句的結果通常是生成另外一個表。在執行過程中系統根據用戶的標準從數據庫中選出匹配的行和列,并將結果放到臨時的表中。
在直接SQL(direct SQL)中,它將結果顯示在終端的顯示屏上,或者將結果送到打印機或文件中。也可以結合其他。
如何使用SQL Developer執行SQL語句
在執行一條SQL語句之后,你可能想要保存它。這樣你可以在以后打開并運行它或基于它來寫一條新的SQL語句。要保存一條SQL語句,你可以使用在$2-11中描述的標準窗口技術。
打開一個已保存的文件,你可以用Open命令。例如,在這一節中,文件打開對話框顯示了在第三章保存的SQL語句。它們被保存在目錄scriptsch03下,這個目錄在你下載并安裝本書的源碼時創建。本節中的截屏顯示了本章中打開的三個文件頁簽。注意這些文件的擴展名都是sql。
在你找開兩個或多個SQL工作表后,你可以通過點擊合適的選項卡來切換SQL語句。或者,你也可以從連接列表下邊的文件列表中選擇SQL語句。這樣,你可以從一個SQL語句向另一個SQL語句中進行代碼的剪切,復制,粘貼。當你打開一個SQL文件,SQL Developer不會為此文件中的SQL語句設置連接。結果是你必須通過連接列表為此文件中的SQL語句指定一個連接。如果你不那樣做的話,當你執行SQL語句時,SQL Developer將會提示你選擇一個連接。
要將一條新的SQL語句保存到文件,你可以使用Save命令。要保存一條修改過的SQL語句到它原來所在的文件,你也只需用Save命令。如果要將一條修改過的SQL語句到一個新的文件,你就需要用Save As命令。
要設置用來保存新的SQL語句的默認目錄,你可以按照本書所描述的那樣選擇Tools?Preferences命令。但是要注意,對于已經打開的文件是無法設置默認目錄的。
對于打開對話框和保存對話框,你可以通過點擊圖標來指定一個最近使用的目錄。例如在本節中,打開對話框顯示目錄ch02,ch03,db-setup都是最近使用過的。因此,你可以點擊其中的一個,輕而易舉地將其指定為最近使用的目錄。
轉載僅供參考,版權屬于原作者。祝你愉快,滿意請采納哦
如何用SQL語句查詢表名和行數
Rudy Limeback: 是的,這相當簡單。
select 'Customers' as tablename , count(*) as row_count from Customers union all select 'Orders' as tablename , count(*) as row_count from Orders union all select 'Products' as tablename , count(*) as row_count from Products union all 。 。
。 如果你需要在你的數據庫里的所有表上做這個查詢,考試#大提示可以從INFORMATION_SCHEMA。
TABLES視圖生成表清單: select table_name from information_schema。tables where table_schema = 'mydatabase' 然后你可以利用這個查詢的結果集和一個文本編輯器生成第一個查詢。
怎么用sql語句
拼接SQL語句。假設這幾個多選的選項控件名和控件內容相同。
dim k as string
k="select * from 某"
if 新增.Value=1 then
if instr(1,k,"where")>0 then
k=k & " and 新增=True"
else
k=k & " where 新增=True"
end if
end if
if 調增.Value=1 then
if instr(1,k,"where")>0 then
k=k & " and 調增=True"
else
k=k & " where 調增=True"
end if
end if
if 取消.Value=1 then
if instr(1,k,"where")>0 then
k=k & " and 取消=True"
else
k=k & " where 取消=True"
end if
end if
* k,conn,3,3 '打開記錄集執行SQL
下面省略
怎樣用SQL語句查詢一個數據庫中的所有表
查詢一個數據庫中的所有表sql語句是show tables;
顯示所有數據庫的命令是:show databases;要查看某個數據庫先要進入數據庫使用user <;數據庫名>;命令;進入數據庫之后才能查詢數據庫中有哪些表。使用以下命令即可查出所有表:
show tables;
擴展資料
mysql數據庫的基本sql操作命令介紹:
1、顯示當前數據庫服務器中的數據庫列表:mysql> SHOW DATABASES;
2、建立數據庫:mysql> CREATE DATABASE 庫名;
3、建立數據表:mysql> USE 庫名;mysql> CREATE TABLE 表名 (字段名 VARCHAR(20), 字
名 CHAR(1));
4、刪除數據庫:mysql> DROP DATABASE 庫名;
5、刪除數據表:mysql> DROP TABLE 表名;
6、將表中記錄清空:mysql> DELETE FROM 表名;
7、往表中插入記錄:mysql> INSERT INTO 表名 VALUES ("hyq","M");
8、更新表中數據:mysql-> UPDATE 表名 SET 字段名1='a',字段名2='b' WHERE 字段名3='c';
9、用文本方式將數據裝入數據表中:mysql> load data local infile "d:/*" into table 表名;
10、導入.sql文件命令:mysql> USE 數據庫名;mysql> source d:/*;
SQL語句中怎么使用聯接列
對于有聯接的列,即使最后的聯接值為一個靜態值,優化器是不會使用索引的。
我們一起來看一個例子,假定有一個職工表(employee),對于一個職工的姓和名分成兩列存放(FIRST_NAME和LAST_NAME),現在要查詢一個叫比爾。克林頓(Bill Cliton)的職工。
下面是一個采用聯接查詢的SQL語句,select * from employsswherefirst_name||''||last_name ='Beill Cliton'; 上面這條語句完全可以查詢出是否有Bill Cliton這個員工,但是這里需要注意,系統優化器對基于last_name創建的索引沒有使用。 當采用下面這種SQL語句的編寫,Oracle系統就可以采用基于last_name創建的索引。
Select * from employeewherefirst_name ='Beill' and last_name ='Cliton'; 遇到下面這種情況又如何處理呢?如果一個變量(name)中存放著Bill Cliton這個員工的姓名,對于這種情況我們又如何避免全程遍歷,使用索引呢?可以使用一個函數,將變量name中的姓和名分開就可以了,但是有一點需要注意,這個函數是不能作用在索引列上。 下面是SQL查詢腳本:select * from employeewherefirst_name = SUBSTR('&&name',1,INSTR('&&name',' ')-1)andlast_name = SUBSTR('&&name',INSTR('&&name',' ')+1)。
怎么使用sql語句添加列
alter table 表名 add 列名 數據類型。
結構化查詢語言(Structured Query Language)簡稱SQL,結構化查詢語言是一種數據庫查詢和程序設計語言,用于存取數據以及查詢、更新和管理關系數據庫系統;sql 語句就是對數據庫進行操作的一種語言。
語句
數據庫
CREATE DATABASE database-name
刪除數據
drop database dbname
創建表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
刪除新表
drop table tabname
增加
Alter table tabname add column col type
設主鍵
Alter table tabname add primary key(col)
刪除主鍵
Alter table tabname drop primary key(col)
創建索引
create [unique] index idxname on tabname(col….)
刪除索引
drop index idxname
創建視圖
create view viewname as select statement
刪除視圖
drop view viewname
sql語句
更新:update table1 set field1=value1 where 范圍
查找:select * from table1 where field1 like '%value1%' (所有包含'value1'這個模式的字符串)
排序:select * from table1 order by field1,field2 [desc]
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1[separator]