SQL語句基礎篇

SQL語句基礎篇

前面的文章 MySQL的安裝過程MySQL的管理分別介紹了MySQL數據庫管理系統的安裝及基本的管理操作。本文將繼續介紹如何使用SQL語句,來存儲數據到數據庫,以及對數據進行增、刪、改、查等基本操作。
數據庫,實際上就是存放數據的倉庫,是長期存儲在計算機中的,有一定結構的,可共享的大量數據的集合。
SQL語言有一些基本概念,瞭解這些基本概念,有助於理解SQL語句。主要包括基本表和視圖。
基本表(table):獨立存在的表,在SQL中,一個關係就對應一個基本表。比如,
Student(id,name,age,address,birthday,telephone,major)
視圖(view):是從一個或幾個基本表中導出的表。注意它本身不存儲在數據庫中,是一個虛表。
【外模式對應於視圖view 和部分基本表(table),模式對應於基本表,內模式對應於存儲文件。】
1 創建數據庫
我們安裝的MySQL是一個關係型的數據庫管理系統,它與SQL SERVER一樣,都是DBMS。我們可以使用它來管理我們創建的數據庫實例,
CREATE DATABASE databaseName;
這時就創建成功了一個名叫dataBaseName的數據庫。通過
SHOW DATABASE命令可以查看系統中維護的數據庫,可以發現多了一個名叫dataBaseName的數據庫。
同時使用 USE databaseName 可以切換到該數據工作空間下,就可以操作該數據庫了。感覺這和VFP(已經不常用了)有點像。

2 刪除數據庫
上面創建了一個數據庫,那麼我們如何刪除創建的一個數據庫呢?可以使用下面這個命令:
DROP DATABASE databaseName ;
刪除數據庫
3 選擇數據庫
該語句實際上,在 1 中已經介紹了。使用
USE databaseName ;
就可以選擇要操作的數據庫工作空間

4 MySQL中的數據類型
上面介紹瞭如何創建和選中數據庫的過程。接下來在介紹針對數據庫中表的定義和操作之前先介紹一下MySQL中的數據類型。
AUTO_INCREMENT
BIGINT
BINARY
BIT
BLOB
BLOB DATA TYPE
BOOLEAN
CHAR
CHAR BYTE
DATE
DATETIME
DEC
DECIMAL
DOUBLE
DOUBLE PRECISION
ENUM
FLOAT
INT
INTEGER
LONGBLOB
LONGTEXT
MEDIUMBLOB
MEDIUMINT
MEDIUMTEXT
SET DATA TYPE
SMALLINT
TEXT
TIME
TIMESTAMP
TINYBLOB
TINYINT
TINYTEXT
VARBINARY
VARCHAR
YEAR DATA TYPE
以上的基本類型在我們定義表時,要使用到。
5 創建表
從現實中抽象出的一個關係(或者說模式),在數據庫中就表現爲一張表。該表一定是一張二維表,否者就值得優化了。從現實中抽象出,一個關係最好的工具就是E-R圖了。優化就涉及到範式等知識了(這些知識將在以後有空介紹)。
上面指出瞭如何從現實中抽象出一個關係的基本方向,當然那不是本文的主題,如何創建及操作纔是本文的主題。下面的語句可以創建一個表:
CREATE TABLE TABLE_NAME(COLUMN_NAME COLUMN_TYPE);
當然該語句只創建了一個最簡單的表。還可以爲表添加約束,這是另一個主題,不在本文中介紹。
例子:
創建表
6 刪除表
DROP TABLE tableName;
使用該語句時一定要慎重。一旦刪除,原來表中存儲的數據也將被刪除。

7 插入語句
INSERT INTO tableName(FIELD1 ,FIELD2 ,FIELD3,FIELD4…FIELDN)
values(VALUE1,VALUE2,VALUE3,VALUE4…VALUEN);
注意,使用該語句可以向特定的表中添加1條記錄。當我們的數據完全與表的結構相匹配時,實際我們可以不寫表名後的內容的,而直接只指定表名即可。
還要注意的是,日期類型要加‘’。如’1983-12-12’
例如:
INSERT INTO student(id,name) values(0001,’zhangsan’);
8 選擇查詢
我覺得這是使用最頻繁的語句。當然這兒只介紹其基本的語句。當要進行復雜的查詢時,可能要用到表的連接,以及語句嵌套的知識。
SELECT FIELD1,FIELD2,FIELD… FROM TABLE_NAME [WHERE] [GROUP BY] [HAVING] [ORDER];
如何使用呢?看下面這個例子。
SELECT id, name FROM student ;
就可以選擇學號和姓名這兩個字段的值。
當要查詢表中的所有字段時,可以使用“*”。如下:
選擇查詢
其實還有一個例子,就是在前面MySQL管理的博文中,查詢用戶時,就使用了上面的兩種查詢方式。
9 WHERE 子句
在上面查詢中,可以看到還有很多可選的參數。那麼它們都是什麼還以呢?
WHERE 指定查詢的條件 比如WHERE id = 5
GROUP BY 對查詢結果按字段名分組 比如:GROUP BY name
HAVING 對分組進行篩選
ORDER 對查詢結果 排序 比如:ORDER BY [ASC]升序 [DESC]降序

下面舉一個WHERE子句的例子:
WHERE 子句
10 更新查詢
UPDATE TABLE_NAME SET FIELD1 = NEW_VALUE1 ,FIELD2 = NEW_VALUE2 [WHERE CLAUSE];
通過指定表名,以及域名[子段名]來進行值的修改。
使用該語句時也要注意,請認真思考究竟要修改哪些數據,做好WHERE子句的限定,否則會影響該字段的所有記錄值。
例如:
更新查詢
11 刪除記錄
DELETE FROM TABLE_NAME [WHERE CLAUSE];
使用該語句可以刪除表中的記錄,或指定記錄。
例如:
刪除記錄
以上介紹了,SQL的11種基本操作。更高級的應用會在後續文章中進行分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章