SQL語句基礎學習要注意什么
SQL 中的 TRIM 函數是用來移除掉一個字串中的字頭或字尾。
最常見的用途是移除字首或字尾的空白。這個函數在不同的資料庫中有不同的名稱: MySQL: TRIM(), RTRIM(), LTRIM() Oracle: RTRIM(), LTRIM() SQL Server: RTRIM(), LTRIM() 各種 trim 函數的語法如下: TRIM([[位置] [要移除的字串] FROM ] 字串): [位置] 的可能值為 LEADING (起頭), TRAILING (結尾), or BOTH (起頭及結尾)。
這個函數將把 [要移除的字串] 從字串的起頭、結尾,或是起頭及結尾移除。如果我們沒有列出 [要移除的字串] 是什么的話,那空白就會被移除。
LTRIM(字串): 將所有字串起頭的空白移除。 RTRIM(字串): 將所有字串結尾的空白移除。
例1: SELECT TRIM(' Sample '); 結果: 'Sample' 例2: SELECT LTRIM(' Sample '); 結果: 'Sample ' 例3: SELECT RTRIM(' Sample '); 結果: ' Sample'。
如何快速入門SQL語言
創建表格 SQL語言中的create table語句被用來建立新的數據庫表格。
Create table語句的使用格式如下:create table tablename(column1 data type,column2 data type, column3 data type);如果用戶希望在建立新表格時規定列的限制條件,可以使用可選的條件選項:create table tablename(column1 data type [constraint],column2 data type [constraint],column3 data type [constraint]); 舉例如下:create table employee(firstname varchar(15),lastname varchar(20),age number (3),address varchar(30),city varchar(20));簡單來說,創建新表格時,在關鍵詞create table后面加入所要建立的表格的名稱,然后在括號內順次設定各列的名稱,數據類型,以及可選的限制條件等。注意,所有的SQL語句在結尾處都要使用“;”符號。
使用SQL語句創建的數據庫表格和表格中列的名稱必須以字母開頭,后面可以使用字母,數字或下劃線,名稱的長度不能超過30個字符。注意,用戶在選擇表格名稱時不要使用SQL語言中的保留關鍵詞,如select, create, insert等,作為表格或列的名稱。
數據類型用來設定某一個具體列中數據的類型。例如,在姓名列中只能采用varchar或char的數據類型,而不能使用number的數據類型。
SQL語句基礎學習要注意什么
是用來做什么的呢?一個最常用的方式是將資料從數據庫中的表格內選出。
從這一句回答中,我們馬上可以看到兩個關鍵字: 從 (FROM) 數據庫中的表格內選出 (SELECT)。(表格是一個數據庫內的結構,它的目的是儲存資料。
在表格處理這一部分中,我們會提到如何使用 SQL 來設定表格。 ) 我們由這里可以看到最基本的 SQL 架構: SELECT "欄位名" FROM "表格名" 我們用以下的例子來看看實際上是怎么用的。
假設我們有以下這個表格: Store_Information 表格 store_namesalesdate Los Angeles$1500jan-05-1999 San Diego$250jan-07-1999 Los Angeles$300jan-08-1999 Boston$700jan-08-1999 若要選出所有的店名 (store_Name),我們就打入: SELECT store_name FROM Store_Information 結果: store_name Los Angeles San Diego Los Angeles Boston。
SQL語句基礎學習有什么特點
索引 (Index) 可以幫助我們從表格中快速地找到需要的資料。
舉例來說,假設我們要在一本園藝書中找如何種植青椒的訊息。若這本書沒有索引的話,那我們是必須要從頭開始讀,直到我們找到有關種直青椒的地方為止。
若這本書有索引的話,我們就可以先去索引找出種植青椒的資訊是在哪一頁,然后直接到那一頁去閱讀。 很明顯地,運用索引是一種有效且省時的方式。
從資料庫表格中尋找資料也是同樣的原理。如果一個表格沒有索引的話,資料庫系統就需要將整個表格的資料讀出 (這個過程叫做'table scan')。
若有適當的索引存在,資料庫系統就可以先由這個索引去找出需要的資料是在表格的什么地方,然后直接去那些地方抓資料。 這樣子速度就快多了。
因此,在表格上建立索引是一件有利于系統效率的事。一個索引可以涵蓋一或多個欄位。
建立索引的語法如下: CREATE INDEX "INDEX_NAME" ON "TABLE_NAME" (COLUMN_NAME) 現在假設我們有以下這個表格, TABLE Customer (First_Name char(50), Last_Name char(50), Address char(50), City char(50), Country char(25), Birth_Date date) 若我們要在 Last_Name 這個欄位上建一個索引,我們就打入以下的指令, CREATE INDEX IDX_CUSTOMER_LAST_NAME on CUSTOMER (Last_Name) 若我們要在 Last_Name 這個欄位上建一個索引,我們就打入以下的指令, CREATE INDEX IDX_CUSTOMER_LOCATION on CUSTOMER (City, Country) 索引的命名并沒有一個固定的方式。 通常會用的方式是在名稱前加一個字首,例如 "IDX_" ,來避免與資料庫中的其他物件混淆。
另外,在索引名之內包括表格名及欄位名也是一個好的方式。 請讀者注意,每個資料庫會有它本身的 CREATE INDEX 語法,而不同資料庫的語法會有不同。
SQL語句基礎學習GroupBy是怎樣的
我們現在回到函數上。
記得我們用 SUM 這個指令來算出所有的 Sales (營業額)吧!如果我們的需求變成是要算出每一間店 (store_name) 的營業額 (sales),那怎么辦呢?在這個情況下,我們要做到兩件事:第一,我們對于 store_name 及 Sales 這兩個欄位都要選出。 第二,我們需要確認所有的 sales 都要依照各個 store_name 來分開算。
這個語法為: SELECT "欄位1", SUM("欄位2") FROM "表格名" GROUP BY "欄位1" 在我們的示范上 Store_Information 表格 store_namesalesdate Los Angeles$1500jan-05-1999 San Francisco$300jan-08-1999 Boston$700jan-08-1999 我們就打入 SELECT store_name, SUM(Sales) FROM Store_Information GROUP BY store_name 結果: store_name SUM(Sales) Los Angeles $1800 San Diego $250 Boston $700 當我們選不只一個欄位,且其中至少一個欄位有包含函數的運用時,我們就需要用到 GROUP BY 這個指令。 在這個情況下,我們需要確定我們有 GROUP BY 所有其他的欄位。
換句話說,除了有包括函數的欄位外,我們都需要將其放在 GROUP BY 的子句中。
如何從零開始學習SQL
先熟悉基本的SQL語句,比如四個基本的語句
比如下表,表名為a : 姓名 卡號 性別 班級
張三 001 男 1
李四 002 男 2
林采兒 003 女 2
劉靜 004 女 1
1,查詢語句 select * from 表名 where 條件,比如查詢性別為男的全部信息語句:select * from a where 性別='男'
2,插入語句 insert into 表名 values('','','',''),比如插入一條記錄 insert into a values ('貓三','005','男','1')
2,修改語句 update 表名 set 更改值 where 條件 比如把卡號為003的性別修改為男 update a set 性別='男' where 卡號='003'
4 刪除語句 delete from 表名 where 條件 ,比如刪除卡號為002的信息 :delete from a where 卡號='002'
先把基本的語句掌握了,然后再深入學習復雜的語句,像 連接查詢,SQL函數的用法,一步步的學下去,慢慢就精通SQL語句了。
SQL語句基礎學習InsertInto是怎樣的
到目前為止,我們學到了將如何把資料由表格中取出。
但是這些資料是如何進入這些表格的呢?這就是這一頁 (INSERT INTO) 和下一頁 (UPDATE) 要討論的。 基本上,我們有兩種作法可以將資料輸入表格中內。
一種是一次輸入一筆,另一種是一次輸入好幾筆。 我們先來看一次輸入一筆的方式。
依照慣例,我們先介紹語法。一次輸入一筆資料的語法如下: INSERT INTO "表格名" ("欄位1", "欄位2", 。
。)
VALUES ("值1", "值2", 。
。) 假設我們有一個架構如下的表格: Store_Information 表格 Column NameData Type store_namechar(50) Salesfloat Datedatetime 而我們要加以下的這一筆資料進去這個表格:在 January 10, 1999,Los Angeles 店有 $900 的營業額。
我們就打入以下的 SQL 語句: INSERT INTO Store_Information (store_name, Sales, Date) VALUES ('Los Angeles', 900, 'Jan-10-1999') 第二種 INSERT INTO 能夠讓我們一次輸入多筆的資料。 跟上面剛的例子不同的是,現在我們要用 SELECT 指令來指明要輸入表格的資料。
如果您想說,這是不是說資料是從另一個表格來的,那您就想對了。一次輸入多筆的資料的語法是: INSERT INTO "表格1" ("欄位1", "欄位2", 。
) SELECT "欄位3", "欄位4", 。
。 FROM "表格2" 以上的語法是最基本的。
這整句 SQL 也可以含有 WHERE、 GROUP BY、 及 HAVING 等子句,以及表格連接及別名等等。 舉例來說,若我們想要將 1998 年的營業額資料放入 Store_Information 表格,而我們知道資料的來源是可以由 Sales_Information 表格取得的話,那我們就可以打入以下的 SQL: INSERT INTO Store_Information (store_name, Sales, Date) SELECT store_name, Sales, Date FROM Sales_Information WHERE Year(Date) = 1998 在這里,我用了 SQL Server 中的函數來由日期中找出年。
不同的數據庫會有不同的語法。舉個例來說,在 Oracle 上,您將會使用 WHERE to_char(date,'yyyy')=1998。
需要簡單基礎的SQL語句
SQL語言共分為四大類:數據查詢語言DQL,數據操縱語言DML, 數據定義語言DDL,數據控制語言DCL。
其中用于定義數據的結構,比如 創建、修改或者刪除數據庫;DCL用于定義數據庫用戶的權限;在這篇文章中我將詳細講述這兩種語言在Oracle中的使用方法。 DML語言 DML是SQL的一個子集,主要用于修改數據,下表列出了ORACLE支持的DML語句。
語句 用途 INSERT 向表中添加行 UPDATE 更新存儲在表中的數據 DELETE 刪除行 SELECT FOR UPDATE 禁止其他用戶訪問DML語句正在處理的行。 LOCK TABLE 禁止其他用戶在表中使用DML語句 插入數據 INSERT語句常常用于向表中插入行,行中可以有特殊數據字段,或者可以用子查詢從已存在的數據中建立新行。
列目錄是可選的,缺省的列的目錄是所有的列名,包括comlumn_id,comlumn_id可以在數據字典視圖ALL_TAB_COLUMNS,USER_TAB_COLUMNS,或者DBA_TAB_COLUMNS中找到。 插入行的數據的數量和數據類型必須和列的數量和數據類型相匹配。
不符合列定義的數據類型將對插入值實行隱式數據轉換。NULL字符串將一個NULL值插入適當的列中。
關鍵字NULL常常用于表示將某列定義為NULL值。 下面的兩個例子是等價的。
INSERT INTO customers(cust_id,state,post_code)VALUE('Ariel',NULL,'94501'); 或INSERT INTO customers(cust_id,state,post_code)VALUE('Ariel',,'94501'); 更新數據 UPDATE命令用于修改表中的數據。UPDATE order_rollupSET(qty,price)=(SELECT SUM(qty),SUM(price) FROM order_lines WHERE customer_id='KOHL'WHERE cust_id='KOHL'AND order_period=TO_DATE('01-Oct-2000') 刪除數據 DELETE語句用來從表中刪除一行或多行數據,該命令包含兩個語句: 1、關鍵字DELETE FROM后跟準備從中刪除數據的表名。
2、WHERE后跟刪除條件DELETE FROM po_linesWHERE ship_to_state IN ('TX','NY','IL')AND order_date。