1. 程式人生 > >MySQL整理(一)

MySQL整理(一)

評測 use 查看 tex 基準 varchar 默認 事務 數據安全

  一、數據管理發展階段

    人工管理階段→文件系統階段→數據庫系統階段

  二、數據庫管理系統提供的功能

    (1)數據定義語言DDL:提供數據定義語言定義數據庫及各種對象,定義數據的完整性約束和保密限制等約束。

  (2)數據操作語言DML:提供數據操作語言操作數據,主要分兩類:檢索(查詢)和更新(插入,刪除,更新)

  (3)數據控制語言DCL:提供數據控制語言控制數據庫的完整性限制,數據安全性控制等。

  三、為什麽使用MySQL

    MySQL是由原MySQL AB公司自主研發的,目前已被Sun公司收購,是目前IT行業最流行的開源數據庫管理系統,同時它也是一個支持多線程高並發多用戶的關系型數據庫管理系統。

    (1)功能性:滿足通用商業需求

    (2)易用性:相對於大型的商業數據庫管理系統,MYSQL對於普通用戶來說,它的易用性高,安裝包小,創建數據庫等操作簡單。

    (3)性能:在權威的第三方評測機構多次測試比較各種數據庫TPCC值(TPCC-MySQL是Percona公司研發的基準測試工具)的過程中,MySQL一直都有非常優異的表現,而且在其他所有商用的通用數據庫管理系統中,僅僅有Oracle數據庫能夠與其一較高下

    (4)可靠性:排在全球前10位的大型網站裏面,都有部分業務是運行在MySQL數據庫環境上的,如yahoo、google等。

     總體來說,MySQL數據庫在發展過程中一直追求三項原則:簡單、高效、可靠。

  四、MySQL相關命令

DOS窗口連接MySQL

mysql –h 127.0.0.1 –u root -p

顯示所有數據庫

show databases;

創建數據庫

create database kk;

使用指定數據庫

use kk;

刪除數據庫

drop database kk;

顯示存儲引擎列表

show engines;

查看默認存儲引擎

show variables like‘storage_engine%’

創建表

create table 表名(

id int,

name varchar(20),

age float

);

查看表定義

describe 表名

修改表名

alter table 老表名 rename 新表名

在表的最後一個位置增加字段

alter table 表名 add 字段名 字段類型定義

在表的第一個位置增加字段

alter table 表名 add 字段名 字段類型定義 first

在表的指定字段後增加字段

alter table 表名 add 字段名 字段類型定義 after 指定字段

刪除字段

alter table表名 drop 字段名

修改字段定義

alter table 表名 modify 字段名 字段類型定義

修改字段名稱

alter table 表名 change 舊字段名 新字段名 舊字段數據類型定義

修改字段名稱及數據類型

alter table 表名 change 舊字段名 新字段名 新字段數據類型定義

修改字段位置

alter table 表名 modify 字段名 數據類型 first (將字段調整到第一個位置)

Alter table 表名 modify 字段名1 數據類型 after 字段名2

  五、MySQL存儲引擎和數據類型

    1.1、MySQL引入了存儲引擎的概念,由於存儲引擎是以插件的形式被引入,所以需要根據實際應用和領域來選擇相應的存儲引擎;如果想創建表,需要了解數據類型,而存儲引擎決定了表中可以存儲的數據類型。

     其中一種引擎的參數如下:

     Engine: InnoDB

     Support: DEFAULT

     Comment: Supports transactions, row-level locking, and foreign keys

     Transactions: YES

     XA: YES

     Savepoints: YES

     (1) Engine:存儲引擎名稱

     (2) Support:表示MySQL是否支持該存儲引擎,DEFAULT表示默認使用

     (3) Comment:表示關於存儲引擎的簡要評論

     (4) Transactions:表示存儲引擎是否支持事務

     (5) XA:表示該存儲引擎所支持的分布式存儲是否符合XA規範

     (6) Savepoints:表示該存儲過程是否支持事務處理中的保存點

     1.2、MySQL存儲引擎支持的數據類型有整數類型,浮點數類型,定點數類型和位類型,日期和時間類型,字符串類型。

     (1)存儲小數數據,可選擇float或double,需精確到小數點後10位以上的,需要選擇double類型。

     (2)定點數類型(參與運算的數的小數點位置固定不變)DEC(M,D)與DECIMAL(M,D)精確到比double還高,有效取值範圍由M(數據總長度)和D(小數點後長度)

     (3)年月日的使用一般是DATE類型,年月日時分秒是DATETIME類型。若經常插入或更新的時間為系統當前時間,一般使用TIMESTAMP類型。時分秒為Time類型。年份用YEAR。

     (4)存儲少量字符串可選用CHAR和VARCHAR類型,如果需要經常發生變化,選VARCHAR類型。

     (5)BLOB和TEXT文本類型十分相似,不同的是前者可以存儲二進制數據(圖片,音頻文件),而後者只能存儲字符數據。

     (6)BINARY和VARBINARY 與 CHAR和VARCHAR字符串類型十分相似,不同的是前者可以存儲二進制數據(圖片,音頻文件),而後者只能存儲字符數據。

MySQL整理(一)