程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MYSQL入門知識 >> MySQL學習總結(二)數據庫以及表的基本操作

MySQL學習總結(二)數據庫以及表的基本操作

編輯:MYSQL入門知識

上一節中詳細的介紹了關於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())

查詢結果如下:

QQ20160525161934_thumb2

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工具欄中點擊按鈕,

QQ20160525164610_thumb1

2.1、創建數據庫

SQL語句:CREATE DATABASE datatest;

datatest是要創建的數據庫名稱,創建的數據庫不應該重復,如果已經有存在的數據庫,在執行該語句就會報錯。

報錯內容:Can't create database 'datatest'; database exists。

在SQLyog界面中,右擊對象資源管理器空白處,選擇“創建數據庫”,輸入數據庫名字,點擊創建,就創建數據庫成功了。

QQ20160525164825_thumb2

2.2、選擇數據庫

SQL語句:USE datatest;

在SQLyog界面中,直接點擊數據庫,顯示數據庫名稱後,表示選中了該數據庫。

QQ20160525165129_thumb1

2.3、刪除數據庫

SQL語句:DROP DATABASE datatest;

在SQLyog界面中,右鍵要刪除的數據庫,更多數據庫操作——>刪除數據庫,選擇是刪除數據庫。

QQ20160525165245_thumb1

 

3、表的操作

表是一種很重要的數據庫對象,是組成數據庫的基本元素,由若干個字段組成。主要用來存儲數據記錄。表的操作,包含創建表、刪除表、修改表等。

3.1、創建表

語法形式:CREATE TABLE table_name(

                                屬性名1 數據類型,

                                。。。。,

                                屬性名N 數據類型,

                   )

例:

CREATE TABLE t_dept(
    deptno INT,
    dname VARCHAR(20),
    addr VARCHAR(40)
)

在SQLyog界面中,右鍵數據庫,創/建——>表,彈出創建表的窗口,設置好,點擊保存就表示創建完成了。

QQ20160525170725_thumb2

 

3.2、刪除表

SQL語句:DROP TABLE t_dept;

表示刪除表t_dept,要刪除的表必須存在否則會報錯。

在SQLyog界面中,右鍵要刪除的表,更多表操作——>從數據庫中刪除表,選擇是,刪除表。

QQ20160525170542_thumb1

 

3.3、修改表

3.3.1、修改表名

SQL語句:ALTER TABLE t_dept    RENAME tab_dept

在SQLyog界面中,右鍵要修改的表,更多表操作——>重命名表,輸入要修改後的名字,如下圖所示:

QQ20160526093425_thumb1

或者是右鍵要修改的表,改變表,在表名稱中輸入要修改後的名字,點擊保存。

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軟件中實現,右鍵要修改的表,選擇“改變表”,如下圖所示:

QQ20160526094114_thumb1

 

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中設置約束,右鍵要增加約束的表,改變表,

QQ20160526101540_thumb1

QQ20160526102032_thumb1

 

設置外鍵約束,右鍵要增加外鍵約束的表(也就是子表),關/系/外鍵,

QQ20160526103053_thumb1

在該界面中可以增加刪除外鍵約束。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved