1. 程式人生 > >資料庫MySQL學習筆記(一)

資料庫MySQL學習筆記(一)

一、資料庫的發展史

1、手工管理:藏書閣,圖書館。

      優點:分類管理,直觀性強

      缺點:資訊流動慢,不方便

2、檔案管理:計算機檔案系統,圖書管理系統

      優點:分類管理,層次分明

      缺點:查詢不方便

3、資料庫管理:

      優點:存取資料非常方便

      缺點:有資料的安全隱患

二、資料庫的概念

資料庫:簡稱DB,按照某一特定資料結構來組織,是儲存資料的倉庫。

資料庫管理系統:簡稱DBMS,是為了建立、操作和維護資料庫二設計的程式,介於使用者和資料庫之間。

使用SQL語言,通過資料庫管理系統來管理資料庫。

三、關係型資料庫

1、所謂的關係,指的就是表,或者表和表之間的關係模型,就是表的行與列。比如 教師(教師編號,姓名,年齡,性別,科目)。

2、常用的關係型資料庫:

      大型:Oracle、SqlServer、DB2

      小型:Access、Mysql

四、MySQL資料庫

1、MySQL是一個關係型資料庫。

2、MySQL特點: (1)開源 (2)支援大型資料庫 (3)支援多作業系統 (4)成本比較小

3、基本使用命令:

      (1)查詢資料庫:show databases;

      (2)選擇資料庫:use 資料庫名;

      (3)書寫SQL

      (4)查詢資料庫中的表:show tables;

五、表(table)

1、表是關係型資料庫的基本儲存結構,基本組成單位。

2、表是二維資料結構,有行和列,行是記錄,列是欄位,行和列的交叉點為欄位值,表和表之間也存在關係。

六、資料庫支援的資料型別

      MySQL支援多種型別,大致分為三類:數值、日期/時間和字串(字元)型別。

(1)數值型別:

型別 大小(位元組) 範圍(有符號) 用途
TINYINT 1 (-128,127) 小整數值
SMALLINT 2 (-32768,32767) 大整數值
MEDIUMINT 3 (-8388608,8388607) 大整數值
INT或INTEGER 4 (-2147483648,2147483647) 大整數值
BIGINT 8 (-9233372036854775808,9223372036854775807) 極大整數值
FLOAT 4 單精度 浮點數值
DOUBLE 8 雙精度

浮點數值 

(2)日期和時間型別:

型別 大小(位元組) 範圍 格式 用途
DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
TIME 3 '-838:59:59'/'838:59:59' HH:MM:SS 時間值或持續時間
YEAR 1 1901/2155 YYYY 年份值
DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和時間值
TIMESTAMP 8 1970-01-01 00:00:00/2037 年某時 YYYYMMDD HHMMSS     混合日期和時間值,時間戳

(3)字串型別:

型別 大小(位元組) 用途
CHAR 0-255 定長字串    char(10)
VARCHAR 0-65535 變長字串
TINYBLOB 0-255 不超過 255 個字元的二進位制字串
TINYTEXT 0-255 短文字字串
BLOB 0-65535 二進位制形式的長文字資料
TEXT 0-65535 長文字資料
MEDIUMBLOB 0-16777215 二進位制形式的中等長度文字資料
MEDIUMTEXT 0-16777215 中等長度文字資料
LOGNGBLOB 0-4294967295 二進位制形式的極大文字資料
LONGTEXT 0-4294967295 極大文字資料

七、結構化查詢語言(SQL)

        1、SQL是資料庫的標準查詢語言,可以通過DBMS對資料庫進行定義資料,操縱資料,查詢資料,資料控制等。

        2、SQL可以分為:

           (1)資料定義語言(Data Definition Language),簡稱DDL,常用語句為:

                    1⃣️ 建立表create:

                           create table 表名(

                                   欄位一 型別,

                                   欄位二 型別,

                                   欄位三 型別

                            )

                     2⃣️ 刪除表drop:

                            drop table 表名

                     3⃣️ 修改表alter:

                             向表最後追加新欄位:alter table 表名 add ( 欄位名 欄位型別)

                             刪除表字段:alter table 表名 drop 欄位名

                             修改表字段型別: alter table 表名 modify 欄位名 新型別

                             修改表字段名稱: alter table 表名 change 舊欄位名 新欄位名 新欄位名型別

                             修改表名:alter table 舊錶名 rename 新表名

                     4⃣️ 查看錶結構:

                              desc 表名

                              結果:Field       Type                 Null    Key    Default    Extra                                          ename    varchar(20)     YES                                                      ageone   int(11)              YES                                                      school     varchar(20)    YES            

                     5⃣️ 清空表,徹底清空,無法找回(只刪除表中的記錄,保留表的結構)

                               truncate 表名       

create table maomao(
    ename varchar(20),
	  age int,
		school varchar(20)
		);
alter table maomao add(height int);  
alter table maomao drop height;      
alter table maomao modify age varchar(20);
alter table maomao change age ageone int;
alter table maomao rename maomaocute; 
desc maomaocute;
truncate maomaocute

           (2)資料操縱語言(DDL):Data Manipulation Language

                     1⃣️ 插入資料insert

                          insert into tableName(欄位1,欄位2...,欄位n) values (值1,值2...,值n)

                          insert into tableName values(值1,值2,..值n);

                          注:格式2要求插入的值必須和建表時欄位的順序相對應,否則容易出現錯誤

                     2⃣️ 刪除資料delete

                           delete from 表名 [條件];

                     3⃣️ 修改資料update

                           update tableName set 欄位1=值1,欄位2=值2 [條件];

insert into maomaocute values("maomao","20","JiLin University") 
update maomaocute set ageone="3" where ename = "maomao"      
delete from maomaocute where ename = "maomao"

                     4⃣️ 建立資料庫並指定字符集

                           create database maomao default character set utf8

           (3)資料查詢語言(DQL)

           (4)資料控制語言(DCL)

           (5)事物控制語言(TCL)

             這三個部分會在以後的部落格中細說。