上一節中詳細的介紹了關於MySQL數據庫的安裝過程,接下來我們就該對數據庫以及表進行一些基本的操作了。
1、數據類型
MySQL數據庫中提供了整數類型、浮點數類型、定點數類型、日期和時間類型、字符串類型。
1.1、整數類型
整數類型包括,TINYINT、SMALLINT、MEDIUMINT、INT、INTEGER、BIGINT。
不同的整數類型所占的字節數不同,取值的范圍也不同。其中TINYINT取值范圍最小,BIGINT取值范圍最大,最常用的整數類型是INT。上面六種整數類型所占字節數分別為1字節、2字節、3字節、4字節、4字節、8字節。
1.2、浮點數類型
浮點數包括,FLOAT和DOUBLE兩種類型。其中FLOAT占4字節,DOUBLE占8字節。在選擇使用哪種數據類型的時候,可以根據需要存儲的小數數據的小數位數來判斷,如果需要精確到小數後10位以上的時候,選用DOUBLE類型,否則可以使用FLOAT類型。
1.3、定點數類型
DEC、DECIMAL類型。當要求小數數據精度非常高的時候,則可以選擇DEC和DECIMAL類型,他們的精度比DOUBLE類型還要高。
1.4、日期和時間類型
MySQL中有多種表示日期和時間的類型。
DATE
表示年月日
DATETIME
表示年月日時分秒
TIMESTAMP
經常插入或更新日期時使用
TIME
表示時分秒
YEAR
表示年
例如:在SQL查詢窗口中輸入查詢語句
SELECT CURDATE(),
NOW(),
TIME(NOW()),
TIMESTAMP(NOW()),
YEAR(NOW()),
DATE(NOW())查詢結果如下:
1.5、字符串類型
CHAR(M)、VARCHAR(M),其中M表示字節數。VARCHAR類型的長度是可以改變的。如果所存儲的字符串長度不會經常變化,可以選擇CHAR類型,否則選擇VARCHAR類型。
TEXT類型,在使用數據庫時候,如果需要存儲大量的字符串,則可以選擇TEXT類型數據。
BINARY(M)、VARBINARY(M),該數據類型可以存儲二進制數據。如果要存儲二進制數據時候可以選擇該類型。根絕所存儲的二進制數據長度選擇具體使用哪種類型。如果長度經常改變可以選擇VARBINARY(M),否則使用BINARY(M)。
BLOB類型,如果需要存儲大量二進制數據的時候(存儲電影等視頻文件),可以選擇BLOB類型數據。
2、數據庫基本操作
安裝MySQL成功後,通過SQLyog登錄後,會發現附帶有六個數據庫。
數據庫可以說是存儲數據庫對象的容器。而數據庫對象指的是存儲、管理和使用數據庫的不同的結構形式,主要包含表、視圖、存儲過程、函數、觸發器、事件等。
SQL執行位置,文件——>新查詢編輯器,或快捷鍵Ctrl+T,或者在SQLyog工具欄中點擊按鈕,
2.1、創建數據庫
SQL語句:CREATE DATABASE datatest;
datatest是要創建的數據庫名稱,創建的數據庫不應該重復,如果已經有存在的數據庫,在執行該語句就會報錯。
報錯內容:Can't create database 'datatest'; database exists。
在SQLyog界面中,右擊對象資源管理器空白處,選擇“創建數據庫”,輸入數據庫名字,點擊創建,就創建數據庫成功了。
2.2、選擇數據庫
SQL語句:USE datatest;
在SQLyog界面中,直接點擊數據庫,顯示數據庫名稱後,表示選中了該數據庫。
2.3、刪除數據庫
SQL語句:DROP DATABASE datatest;
在SQLyog界面中,右鍵要刪除的數據庫,更多數據庫操作——>刪除數據庫,選擇是刪除數據庫。
3、表的操作
表是一種很重要的數據庫對象,是組成數據庫的基本元素,由若干個字段組成。主要用來存儲數據記錄。表的操作,包含創建表、刪除表、修改表等。
3.1、創建表
語法形式:CREATE TABLE table_name(
屬性名1 數據類型,
。。。。,
屬性名N 數據類型,
)
例:
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
addr VARCHAR(40)
)在SQLyog界面中,右鍵數據庫,創/建——>表,彈出創建表的窗口,設置好,點擊保存就表示創建完成了。
3.2、刪除表
SQL語句:DROP TABLE t_dept;
表示刪除表t_dept,要刪除的表必須存在否則會報錯。
在SQLyog界面中,右鍵要刪除的表,更多表操作——>從數據庫中刪除表,選擇是,刪除表。
3.3、修改表
3.3.1、修改表名
SQL語句:ALTER TABLE t_dept RENAME tab_dept
在SQLyog界面中,右鍵要修改的表,更多表操作——>重命名表,輸入要修改後的名字,如下圖所示:
或者是右鍵要修改的表,改變表,在表名稱中輸入要修改後的名字,點擊保存。
3.3.2、增加字段
SQL語句:ALTER TABLE table_name ADD 屬性名 屬性類型,在表的最後一個位置增加一個字段。
SQL語句:ALTER TABLE table_name ADD 屬性名 屬性類型 FIRST,在表的第一個位置增加一個字段。
SQL語句:ALTER TABLE table_name ADD 屬性名 屬性類型 AFTER 屬性名,在表的指定的字段之後增加字段。
3.3.3、刪除字段
SQL語句:ALTER TABLE table_name DROP 屬性名,刪除表中指定的字段。
3.3.4、修改字段
修改某個字段的數據類型:ALTER TABLE table_name MODIFY 屬性名 屬性類型。
修改某個字段的名稱:ALTER TABLE table_name CHANGE 舊屬性名 新屬性名 舊屬性的數據類型。例如: ALTER TABLE tab_dept CHANGE addr address VARCHAR(40)
同時修改某個字段的名稱和數據類型:ALTER TABLE table_name 舊屬性名 新屬性名 新屬性的數據類型。
3.3.5、修改字段的順序
調整某個字段到表的第一個位置,ALTER TABLE table_name MODIFY 屬性名 數據類型 FIRST。
調整某個字段到表的某個字段之後,ALTER TABLE table_name MODIFY 屬性名1 數據類型 AFTER 屬性名2。說明:屬性名1是要調整的字段,屬性名2 是要調整到字段後面。
以上操作都可以在SQLyog軟件中實現,右鍵要修改的表,選擇“改變表”,如下圖所示:
4、表的約束
完整性是指數據的准確性和一致性,而完整性檢查就是指的是檢查數據的准確性和一致性。
4.1、設置非空約束(NOT NULL,NK)
當數據庫表中的某個字段如果不希望設置為空時候,則可以使用NK約束。為字段加上NOT NULL約束的時候,就可以保證該字段不能為空,如果用戶插入的記錄該字段為空的話,數據庫就會報錯。
SQL語句:
CREATE TABLE table_name(
屬性名 數據類型 NOT NULL,
…
)
4.2、設置字段的默認值 (DEFAULT)
當數據庫表插入一條數據時候,如果沒有為某個字段賦值,那麼數據庫系統就會自動給該字段賦值。
CREATE TABLE table_name(
屬性名 數據類型 DEFAULT 默認值,
…
)
4.3、 設置唯一約束(UNIQUE,UK)
當數據庫表中的某個字段不允許重復的時候,可以設置UK約束。
CREATE TABLE table_name(
屬性名 數據類型 UNIQUE,
…
)
4.4、設置主鍵約束
當數據庫表中的某個字段用來唯一標識所有的記錄的時候,就可以設置PK約束。主鍵字段是唯一、非空的值。
CREATE TABLE table_name(
屬性名 數據類型 PRIMARY KEY,
…
)
主鍵約束相當於非空約束+唯一約束。
多字段主鍵(聯合主鍵)設置如下,
CREATE TABLE table_name(
屬性名 數據類型,
…
CONSTRAINT 約束名 PRIMARY KEY(屬性名1,屬性名2…)
)
4.5、設置字段值自動增加(AUTO_INCREMENT)
設置AUTO_INCREMENT約束後,字段會生成一個唯一的ID值。該字段必須是整數類型。
CREATE TABLE table_name(
屬性名 數據類型 AUTO_INCREMENT,
…
)
4.6、設置外鍵約束(FOREIGN KEY,FK)
設置外鍵約束的兩個表必須具有父與子的關系。設置FK約束的字段,必須依賴於數據庫中已經存在的父表的主鍵。
CREATE TABLE table_name(
屬性名 數據類型,
…
CONSTRAINT 外鍵約束名 FOREIGN KEY (屬性名1)
REFERENCES 表名 (屬性名2)
)
在SQLyog中設置約束,右鍵要增加約束的表,改變表,
設置外鍵約束,右鍵要增加外鍵約束的表(也就是子表),關/系/外鍵,
在該界面中可以增加刪除外鍵約束。