SQL 語法
1. 數(shù)據(jù)庫 和 表
一個(gè)數(shù)據(jù)庫通常包含一個(gè)或多個(gè)表。每個(gè)表都有一個(gè)名字標(biāo)識,表里包含帶有數(shù)據(jù)的記錄。
在本教程中,我們在 mysql 的 yapf 數(shù)據(jù)庫中創(chuàng)建了一個(gè) website 表,用于存儲網(wǎng)站記錄。
查看 "website" 表的數(shù)據(jù):
mysql> use yapf; database changed mysql> set names utf8; query ok, 0 rows affected (0.00 sec) mysql> select * from website; +----+--------------+---------------------------+-------+---------+ | id | name | url | alexa | country | +----+--------------+---------------------------+-------+---------+ | 1 | google | https://www.google.cm/ | 1 | usa | | 2 | 淘寶 | https://www.taobao.com/ | 13 | cn | | 3 | 碩編程 | http:/// | 200 | cn | | 4 | 微博 | http://weibo.com/ | 20 | cn | | 5 | facebook | https://www.facebook.com/ | 3 | usa | +----+--------------+---------------------------+-------+---------+ 5 rows in set (0.01 sec)
范例 sql 語句解析:
- use yapf; 命令用于選擇數(shù)據(jù)庫。
- set names utf8; 命令用于設(shè)置使用的字符集。
- select * from website; 讀取數(shù)據(jù)表的信息。
- 上面的表包含五條記錄(每一條對應(yīng)一個(gè)網(wǎng)站信息)和5個(gè)列(id、name、url、alexa 和country)。
2. sql 語句規(guī)范
我們在數(shù)據(jù)庫上執(zhí)行的大部分工作都由 sql 語句完成。
下面的 sql 語句從 "website" 表中選取所有記錄:
select * from website;
1)sql 語句大小寫規(guī)則
- sql 語句的關(guān)鍵字對大小寫不敏感:select 與 select 是相同的。
- linux/unix 下數(shù)據(jù)庫名與表名是嚴(yán)格區(qū)分大小寫的,windows 不區(qū)分。
- linux/unix 下的別名是嚴(yán)格區(qū)分大小寫的,windows 不區(qū)分。
- 列名與列的別名對大小寫不敏感。
- 字段內(nèi)容對大小寫不敏感。
2)sql 語句末端分號
分號是在數(shù)據(jù)庫系統(tǒng)中分隔每條 sql 語句的標(biāo)準(zhǔn)方法,這樣就可以在對服務(wù)器的相同請求中執(zhí)行一條以上的 sql 語句。
在本教程中,我們默認(rèn)在每條 sql 語句的末端使用分號。
3. 常用 sql 語句
- select - 從數(shù)據(jù)庫中查詢獲取數(shù)據(jù)
- update - 更新數(shù)據(jù)庫中的數(shù)據(jù)
- delete - 刪除數(shù)據(jù)庫中的數(shù)據(jù)
- insert - 向數(shù)據(jù)庫中添加新數(shù)據(jù)
- create database - 創(chuàng)建新數(shù)據(jù)庫
- create table - 創(chuàng)建新表
- alter table - 變更表的屬性
- drop table - 刪除表
- create index - 創(chuàng)建索引
- drop index - 刪除索引