數(shù)據(jù)庫(kù),顧名思義就是存儲(chǔ)數(shù)據(jù)的倉(cāng)庫(kù)。目前常用的數(shù)據(jù)庫(kù)如Oracle、Sybase等各有其千秋,但是如果挑出一款最為流行的數(shù)據(jù)庫(kù)軟件,非MySql莫屬。SQL,Structured Query Language結(jié)構(gòu)化查詢語(yǔ)言,是MySql的使用語(yǔ)言,也是我們?cè)?/span>MySql數(shù)據(jù)庫(kù)中對(duì)數(shù)據(jù)進(jìn)行數(shù)據(jù)操作、查詢、修改等操作的工具。
一列數(shù)據(jù)是一個(gè)字段,多個(gè)字段構(gòu)成數(shù)據(jù)表,而數(shù)據(jù)庫(kù)就是大量帶有相關(guān)數(shù)據(jù)的表的集合。所以,在使用MySql的時(shí)候,我們首先要做的就是創(chuàng)建數(shù)據(jù)庫(kù)。
create database test;
在此段語(yǔ)句中,create database是關(guān)鍵詞,test是創(chuàng)建的數(shù)據(jù)庫(kù)的名稱。對(duì)于數(shù)據(jù)庫(kù)的操作,常用的還有以下語(yǔ)句:
查看創(chuàng)建好的數(shù)據(jù)庫(kù)test:show create database test;
查看所有數(shù)據(jù)庫(kù):show databases;
使用數(shù)據(jù)庫(kù)test:use test
刪除數(shù)據(jù)庫(kù)test:drop database test;
注意,在每一次新打開(kāi)數(shù)據(jù)庫(kù)的時(shí)候,必須先運(yùn)行use test語(yǔ)句,才能對(duì)數(shù)據(jù)庫(kù)test進(jìn)行后續(xù)操作,否則就會(huì)報(bào)錯(cuò)。
創(chuàng)建好數(shù)據(jù)庫(kù)以后,我們需要把數(shù)據(jù)表導(dǎo)入數(shù)據(jù)庫(kù)。下面語(yǔ)句是一個(gè)表的導(dǎo)入的實(shí)例:
use test;
create table student(
ID char(3) primary key,
Name varchar(20)not null,
Credit int not null);
上面是導(dǎo)入一個(gè)學(xué)生學(xué)分的表格。一共有三個(gè)字段:學(xué)生ID、名字以及學(xué)分。在穿件表格的時(shí)候,我們需要對(duì)每一個(gè)字段作兩個(gè)限定。第一個(gè)是字段類型限定,字段類型有字符串(即文本類型)、數(shù)字、日期等,我們需要對(duì)此做說(shuō)明。在此例中,char(3)代表固定長(zhǎng)度為3的字符串型數(shù)據(jù),varchar(20)代表可變長(zhǎng)度的最大長(zhǎng)度為20的字符串型數(shù)據(jù),int代表整數(shù)型數(shù)據(jù)。第二是約束條件限定,我們對(duì)數(shù)據(jù)的約束有:非空約束(not null)、唯一約束(unique)、主鍵約束(primary key)等。其中主鍵約束最為重要,因?yàn)椴煌瑪?shù)據(jù)表進(jìn)行聯(lián)系的時(shí)候都是通過(guò)主鍵來(lái)進(jìn)行,主鍵必須同時(shí)滿足非空和唯一。
創(chuàng)建好表格的框架以后,我們需要將數(shù)據(jù)導(dǎo)入進(jìn)去。按照數(shù)據(jù)來(lái)源區(qū)分一般有兩種:手工輸入或者導(dǎo)入本地文件,手工輸入費(fèi)時(shí)耗力,在這里只說(shuō)明本地文件的導(dǎo)入。
load data local infil ‘文件路徑.txt’
into table student
fields terminated by ‘\t’
ignore 1 lines;
這一段語(yǔ)句里面我們需要注意的是后兩行,txt文件格式對(duì)應(yīng)‘\t’,excel的文件對(duì)應(yīng)‘,’。另外當(dāng)本地文件第一行不是每一列數(shù)據(jù)的字段名而是數(shù)據(jù)的時(shí)候,第一行數(shù)據(jù)不能忽視,所以代碼的最后一行可以不寫(xiě)。
alter table student rename st;將數(shù)據(jù)表student改名為st
alter table student modify name varchar(30);將字段name的數(shù)據(jù)類型改為varchar(30)
alter table student change name nm varchar(30);字段name改名為nm
alter table student add sex varchar(20) not null; 增加字段sex數(shù)據(jù)類型varchar(20)且非空
聯(lián)系客服