數(shù)據(jù)庫上課第四講SQL語言_1(DDL及建立數(shù)據(jù)庫)_第1頁
數(shù)據(jù)庫上課第四講SQL語言_1(DDL及建立數(shù)據(jù)庫)_第2頁
數(shù)據(jù)庫上課第四講SQL語言_1(DDL及建立數(shù)據(jù)庫)_第3頁
數(shù)據(jù)庫上課第四講SQL語言_1(DDL及建立數(shù)據(jù)庫)_第4頁
數(shù)據(jù)庫上課第四講SQL語言_1(DDL及建立數(shù)據(jù)庫)_第5頁
已閱讀5頁,還剩82頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、機(jī)械自動化學(xué)院機(jī)械自動化學(xué)院20152015主講:主講: 顧顧 曦曦 電話:電話:1569718107915697181079EmailEmail:學(xué)習(xí)目標(biāo)要求掌握對數(shù)據(jù)庫的基本操作,并了解數(shù)據(jù)庫管理系統(tǒng)的基本功能要求熟練掌握基本的SQL語法,并運(yùn)用SQL語句完成對數(shù)據(jù)庫的操作*2學(xué)習(xí)方法結(jié)合課堂講授的知識,強(qiáng)化上機(jī)強(qiáng)化上機(jī),以便加深理解。重點(diǎn):3.2、3.3、3.4、3.5、3.8和3.9節(jié)難點(diǎn):3.3、3.4和3.5節(jié)*3主要內(nèi)容SQL概述數(shù)據(jù)定義數(shù)據(jù)定義數(shù)據(jù)更新數(shù)據(jù)更新1簡單查詢簡單查詢 連接查詢連接查詢嵌套子查詢嵌套子查詢 聚合查詢聚合查詢 集合運(yùn)算集合運(yùn)算 SQL查詢一般格式查詢一般

2、格式數(shù)據(jù)更新數(shù)據(jù)更新2 視圖(第七講)視圖(第七講) *41.0 簡述 SQL語言于1974年由Boyce等提出,并于19751979年在IBM公司研制的System R數(shù)據(jù)庫管理系統(tǒng)上實(shí)現(xiàn),現(xiàn)已成為國際標(biāo)準(zhǔn)。SQL(Structured Query Language,結(jié)構(gòu)化查詢語言)是關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言。幾乎所有的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)均采用SQL語言標(biāo)準(zhǔn)。很多數(shù)據(jù)庫廠商都對SQL語句進(jìn)行了再開發(fā)和擴(kuò)展。微軟 SqlServer: T-SQLOracle: PL/SQL標(biāo)準(zhǔn)SQL命令查詢:SELECT 插入:INSERT更新:UPDATE 刪除:DELETE創(chuàng)建:CREATE 對象刪除:DR

3、OP*71.1 SQL的發(fā)展 SQL-86:第一個SQL標(biāo)準(zhǔn),由美國國家標(biāo)準(zhǔn)局(American National Standard Institute,簡稱ANSI)公布1987年國際標(biāo)準(zhǔn)化組織(International Organization for Standardization,簡稱ISO)通過。該標(biāo)準(zhǔn)也稱為SQL-1*8SQL的發(fā)展 SQL-92:在1992年,由ISO和ANSI對SQL-86進(jìn)行重新修訂,該標(biāo)準(zhǔn)也稱為SQL-2SQL-99:在1999年,該版本在SQL-2的基礎(chǔ)上,擴(kuò)展了諸多功能,包括遞歸、觸發(fā)、面向?qū)ο蠹夹g(shù)等。該標(biāo)準(zhǔn)也稱為SQL-3 SQL-2003:該標(biāo)準(zhǔn)是

4、最新的標(biāo)準(zhǔn),也稱SQL-4,于2003年發(fā)布 *9SQL標(biāo)準(zhǔn) 標(biāo)準(zhǔn) 大致頁數(shù) 發(fā)布日期nSQL/86 1986年nSQL/89(FIPS 127-1) 120頁 1989年nSQL/92 622頁 1992年nSQL99 1700頁 1999年nSQL2003 2003年SQL/Framework-BNF Grammar for ISO/IEC 9075-1:2003 SQL/Foundation-BNF Grammar for ISO/IEC 9075-2:2003 *10SQL語言的組成(4部分)數(shù)據(jù)定義語言數(shù)據(jù)定義語言DDL(Data Definition Language)定義數(shù)據(jù)庫的

5、邏輯結(jié)構(gòu),包括數(shù)據(jù)庫、基本表、視圖和索引等,擴(kuò)展DDL還支持存儲過程、函數(shù)、對象、觸發(fā)器等的定義DDL包括3類語言,即定義、修改和刪除數(shù)據(jù)操縱語言數(shù)據(jù)操縱語言DML(Data Manipuplation Language)對數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行檢索和更新,其中更新操作包括插入、刪除和修改數(shù)據(jù)數(shù)據(jù)控制語言數(shù)據(jù)控制語言DCL(Data Control Language)對數(shù)據(jù)庫的對象進(jìn)行授權(quán)、用戶維護(hù)(包括創(chuàng)建、修改和刪除)、完整性規(guī)則定義和事務(wù)定義等其它其它主要是嵌入式SQL語言和動態(tài)SQL語言的定義,規(guī)定了SQL語言在宿主語言中使用的規(guī)則擴(kuò)展SQL還包括數(shù)據(jù)庫數(shù)據(jù)的重新組織、備份與恢復(fù)等功能1.2

6、 SQL特點(diǎn) 綜合統(tǒng)一 集數(shù)據(jù)定義語言DDL、數(shù)據(jù)操縱語言DML、數(shù)據(jù)控制語言DCL的功能于一體 。高度非過程化 沒有條件、循環(huán)等控制語句。某些商業(yè)數(shù)據(jù)庫進(jìn)行了過程化擴(kuò)充,比如PL/SQL。面向集合集合的操作方式采用集合操作方式,其操作對象、查找結(jié)果都是元組的元組的集合集合 。同一種語法結(jié)構(gòu)提供兩種使用方式SQL語言既是自含式語言,又是嵌入式語言,其語法結(jié)構(gòu)基本一致。SQL功能極強(qiáng),完成核心功能只用了9個動詞。語言簡潔,易學(xué)易用SQL支持的三級模式結(jié)構(gòu)SQL語言支持三級模式結(jié)構(gòu),外模式對應(yīng)視圖和部分視圖和部分基本表基本表,模式對應(yīng)基本表基本表,內(nèi)模式對應(yīng)存儲文件存儲文件 SQL視圖視圖1視圖視

7、圖2基本表基本表1基本表基本表2基本表基本表3基本表基本表4存儲文件存儲文件1存儲文件存儲文件2 外模式外模式 模式模式 內(nèi)模式內(nèi)模式SQL支持的三級模式結(jié)構(gòu)基本表基本表數(shù)據(jù)庫中獨(dú)立存在的表獨(dú)立存在的表稱為基本表,在SQL中一個關(guān)系對應(yīng)一個基本表一個(或多個)基本表對應(yīng)一個存儲文件一個表可以帶若干索引索引存放在存儲文件中視圖視圖指從一個或幾個基本表(或視圖)導(dǎo)出的表,是虛表。虛表。只存放視圖的定義而不存放對應(yīng)數(shù)據(jù)查詢表查詢表指查詢結(jié)果對應(yīng)的表存儲文件存儲文件指數(shù)據(jù)庫中存放關(guān)系的物理文件*15本課程使用的數(shù)據(jù)庫-ScoreDB(p77)ScoreDB的模式導(dǎo)航圖*20課堂演示ScoreDB數(shù)據(jù)庫

8、安裝前的設(shè)置*211、下載、下載http:/mySQL的安裝、配置2、安裝、安裝解壓到安裝目錄啟動服務(wù)器啟動服務(wù)器 cmd-安裝目錄安裝目錄 mysqld -console運(yùn)行客戶端運(yùn)行客戶端 cmd-安裝目錄安裝目錄 mysql test3、配置3.1、Path路徑配置目的:全局變量,可直接調(diào)用。*24在Path變量中加上加上“mysql安裝目錄安裝目錄/bin;”D:Program Filesmysql-5.5.27-win32bin;*25*263.2、my.ini配置配置目的:配置mySql啟動參數(shù),設(shè)置客戶端和服務(wù)端的字符集。clientport = 3306socket = /tm

9、p/mysql.sockdefault-character-set =gbk. .mysqldport = 3306socket = /tmp/mysql.sockbasedir =D:/Program Files/mysql-5.5.27-win32#datadir =character_set_server=gbk*273.3、服務(wù)啟動方式配置、服務(wù)啟動方式配置1)命令行啟動和停止)命令行啟動和停止啟動:mysqld console 停止:mysqladmin u root p shutdown;2)設(shè)置為)設(shè)置為Windows服務(wù)(不用)服務(wù)(不用) mysqld install 或或

10、net start mysql刪除Windows服務(wù)mysqld remove 或或 sc delet mysql*283.4、配置客戶端和連接字符集、配置客戶端和連接字符集目的:減少亂碼。1)查看數(shù)據(jù)庫字符集show variables like character%;2)更改數(shù)據(jù)庫字符集set character_set_client = gbk ;set character_set_connection = gbk ;安裝、配置Navicat mysql管理客戶端2930用Navicat 新建數(shù)據(jù)庫31建表32也可運(yùn)行SQL建表(library.sql)33返回注意:該方法有亂碼風(fēng)險2.

11、1 數(shù)據(jù)庫的定義2.2 基本表的定義2.3 索引的定義*34SQL數(shù)據(jù)定義語言SQL的數(shù)據(jù)定義功能: 數(shù)據(jù)庫(模式)定義、表定義、視圖和索引的定義 *352.1 數(shù)據(jù)庫的定義 數(shù)據(jù)庫保存了企業(yè)所有的數(shù)據(jù),以及相關(guān)的一些控制信息,如安全性和完整性約束、關(guān)系的存儲路徑等數(shù)據(jù)庫包含了基本表、視圖、索引以及約束等對象,在定義這些對象之前,必須首先定義數(shù)據(jù)庫,然后在數(shù)據(jù)庫中定義所有的對象*36數(shù)據(jù)庫作為一個整體存放在外存的物理文件中物理文件有兩種:數(shù)據(jù)文件:數(shù)據(jù)文件:存放數(shù)據(jù)庫中的對象數(shù)據(jù);日志文件:日志文件:存放用于恢復(fù)數(shù)據(jù)庫的企業(yè)冗余數(shù)據(jù)物理文件可以是多個,可以將一個或若干個物理文件設(shè)置為一個邏輯設(shè)

12、備數(shù)據(jù)庫可以有多個邏輯設(shè)備,必須在定義數(shù)據(jù)庫時進(jìn)行定義數(shù)據(jù)庫的對象存放在邏輯設(shè)備上,由邏輯設(shè)備與物理文件進(jìn)行聯(lián)系,從而實(shí)現(xiàn)數(shù)據(jù)庫的邏輯模式與存儲模式的獨(dú)立*371)數(shù)據(jù)庫的創(chuàng)建一個數(shù)據(jù)庫創(chuàng)建在物理介質(zhì)的一個或多個文件上,它預(yù)先分配了將要被數(shù)據(jù)庫和事務(wù)日志所使用的物理存儲空間存儲數(shù)據(jù)的文件叫做數(shù)據(jù)文件(data file)存儲日志的文件叫做日志文件(log file)創(chuàng)建一個新的數(shù)據(jù)庫時,僅創(chuàng)建了一個空殼,必須在這個空殼中創(chuàng)建對象(如表等),才能使用這個數(shù)據(jù)庫當(dāng)創(chuàng)建了一個數(shù)據(jù)庫,與該數(shù)據(jù)庫相關(guān)的描述信息會存入到系統(tǒng)的數(shù)據(jù)字典中在定義數(shù)據(jù)庫的時候,必須定義數(shù)據(jù)庫的名字?jǐn)?shù)據(jù)庫的名字、邏輯設(shè)備名和物理

13、文件名*38定義數(shù)據(jù)庫的語法 CREATE DATABASE ON PRIMARY , . n - 定義主邏輯設(shè)備的數(shù)據(jù)文件 , , . n - 定義用戶邏輯設(shè)備的數(shù)據(jù)文件 LOG ON , . n - 定義數(shù)據(jù)庫日志的數(shù)據(jù)文件 建立學(xué)生成績數(shù)據(jù)庫ScoreDB演示CREATE DATABASE ScoreDB ;*392)數(shù)據(jù)庫的修改修改數(shù)據(jù)庫在運(yùn)行過程中,可以依據(jù)數(shù)據(jù)量的大小進(jìn)行修改修改數(shù)據(jù)庫操作的語法為: ALTER DATABASE 3)數(shù)據(jù)庫的刪除刪除數(shù)據(jù)庫操作的語法為: DROP DATABASE 刪除數(shù)據(jù)庫時,系統(tǒng)會同時從系統(tǒng)的數(shù)據(jù)字典中將該數(shù)據(jù)庫的描述一起刪除*41建立學(xué)生成績

14、數(shù)據(jù)庫ScoreDBDROP DATABASE if exists ScoreDB;CREATE DATABASE ScoreDB ;USE ScoreDB;2.2 基本表的定義創(chuàng)建數(shù)據(jù)庫后,就可在數(shù)據(jù)庫中建立基本表。SQL中域的概念用數(shù)據(jù)類型來實(shí)現(xiàn)定義表的屬性時 需要指明其數(shù)據(jù)類型及長度 選用哪種數(shù)據(jù)類型 n取值范圍 n要做哪些運(yùn)算 *42基本數(shù)據(jù)類型整型:int(4B),smallint(2B),tinyint(1B);實(shí)型:float,real(4B),decimal(p, n),numeric(p, n);字符型:char(n),varchar(n),text;2進(jìn)制型:binary(

15、n),varbinary(n),image;邏輯形:bit,只能取0和1,不允許為空;貨幣型:money(8B, 4位小數(shù)),small money(4B, 2位小數(shù));時間型:datetime(4B, 從1753.1.1開始),smalldatetime(4B, 從1900.1.1開始)其中:image為存儲圖象的數(shù)據(jù)類型,text存放大文本數(shù)據(jù)*431)創(chuàng)建基本表CREATE TABLE ( , , ); 如果完整性約束條件涉及到該表的多個屬性列,則必須定義在表級上,否則既可以定義在列級也可以定義在表級。 *44建立ScroeDB的4張表CREATE TABLE Class ( /* 定義

16、班級表Class*/ classNo char(6) NOT NULL , /*班級號*/ className varchar(30) NOT NULL, /*班級名*/ institute varchar(30) NOT NULL, /*所屬學(xué)院*/ grade smallint default 0 NOT NULL, /*年級*/ classNum tinyint NULL, /*班級人數(shù)*/ CONSTRAINT ClassPK PRIMARY KEY (classNo) ) 屬性定義主碼/* */注釋約束:缺省值數(shù)據(jù)類型表名課程表CourseCREATE TABLE Course (

17、/* 定義課程表Course*/ courseNo char(3) NOT NULL , /*課程號*/ courseName varchar(30) NOT NULL, /*課程名*/ creditHour numeric(1) default 0 NOT NULL, /*學(xué)分*/ courseHour tinyint default 0 NOT NULL, /*課時數(shù)*/ priorCourse char(3) NULL, /*先修課程*/ CONSTRAINT CoursePK PRIMARY KEY (courseNo), FOREIGN KEY (priorCourse) REFER

18、ENCES Course(courseNo) ) 定義外碼priorCourse, 被參照表是Course被參照列是courseNo學(xué)生表StudentCREATE TABLE Student ( studentNo char(7) NOT NULL , /*學(xué)號*/ studentName varchar(20) NOT NULL , /*姓名*/ sex char(2) NULL, /*性別*/ birthday datetime NULL, /*出生日期*/ native varchar(20) NULL, /*籍貫*/ nation varchar(30) default 漢族 NUL

19、L, /*民族*/ classNo char(6) NULL, /*所屬班級*/ CONSTRAINT StudentPK PRIMARY KEY (studentNo), CONSTRAINT StudentFK FOREIGN KEY (classNo) REFERENCES Class(classNo) 定義成績表ScoreCREATE TABLE Score ( studentNo char(7) NOT NULL , /*學(xué)號*/ courseNo char(3) NOT NULL , /*課程號*/ score numeric(5, 1) default 0 NOT NULL, /

20、*成績*/ CHECK( score BETWEEN 0.0 AND 100.0) , /*自定義約束 */ /* 主碼由兩個屬性構(gòu)成,必須作為表級完整性約束進(jìn)行定義*/ CONSTRAINT ScorePK PRIMARY KEY (studentNo, courseNo), CONSTRAINT ScoreFK1 FOREIGN KEY (studentNo) REFERENCES student(studentNo), CONSTRAINT ScoreFK2 FOREIGN KEY (courseNo) REFERENCES course(courseNo) *48基本表的修改( ALT

21、ER TABLE )修改表的結(jié)構(gòu),如擴(kuò)充列等。修改基本表操作的語法為:ALTER TABLE ADD 完整性約束 DROP ALTER COLUMN ;*49基本表的修改增加列(新增一列的值為空值):ALTER TABLE ADD 增加約束:ALTER TABLE ADD CONSTRAINT 刪除約束:ALTER TABLE DROP 修改列的數(shù)據(jù)類型:ALTER TABLE ALTER COLUMN *50基本表的刪除 DROP TABLE RESTRICT | CASCADE為被刪除的表名若選擇RESTRICT,則該表的刪除有限制條件即該表不能有視圖、觸發(fā)器以及被其它表所引用(如檢查約束

22、CHECK,外碼約束FOREIGN KEY),該項(xiàng)為缺省項(xiàng)。若選擇CASCADE,則該表的刪除沒有限制條件在刪除基本表的同時,也刪除建立在該表上的所有索引、完整性規(guī)則、觸發(fā)器和視圖。刪除表時,系統(tǒng)會同時從系統(tǒng)的數(shù)據(jù)字典中將該表的描述一起刪除。注意注意:mySQL、SQL Server都不支持 RESTRICT | CASCADE選項(xiàng)*512.3 索引的定義索引是加快數(shù)據(jù)檢索的一種工具一張表可以建立多個索引,可從不同的角度加快查詢速度;如果索引建立得較多,會給數(shù)據(jù)維護(hù)帶來較大的系統(tǒng)開銷。索引是由的記錄構(gòu)成索引邏輯上按照搜索碼值進(jìn)行排序,但不改變表中記錄的物理順序;索引和基本表分別存儲。數(shù)據(jù)庫的索

23、引一般按照B+樹結(jié)構(gòu)來組織,也有Hash索引和位圖索引等。索引相關(guān)的描述信息會保存到數(shù)據(jù)字典中。*52例:在班級表中按所屬學(xué)院建立的索引InstituteIdx:*53索引的類型聚集聚集索引每張表僅能建立一個聚集索引聚集索引是按搜索碼值的某種順序(升序/降序)來重新組織表記錄聚集索引可以極大地提高查詢速度聚集索引給數(shù)據(jù)的修改帶來困難。一般建立了聚集索引的表不進(jìn)行更新操作,僅執(zhí)行查詢操作,這在數(shù)據(jù)倉庫中使用得較多。非聚集非聚集索引:是普通索引,一張表可以建立多個普通索引。*54建立索引操作的語法 CREATE UNIQUE CLUSTERED | NONCLUSTERED INDEX ON (

24、ASC | DESC, ASC | DESC, ) ON *55其中:UNIQUE:表示建立唯一索引;CLUSTERED | NONCLUSTERED :表示建立聚集或非聚集索引,默認(rèn)為非聚集索引;:索引的名稱,索引是數(shù)據(jù)庫中的對象,因此在一個數(shù)據(jù)庫中必須唯一; ( ASC | DESC, ASC | DESC, ):可為多個屬性建立索引ASC | DESC :按升序或降序建立索引,默認(rèn)為升序;ON :指定索引文件存放在哪個邏輯設(shè)備上,該邏輯設(shè)備必須是在創(chuàng)建數(shù)據(jù)庫時定義的,或加入到數(shù)據(jù)庫中的邏輯設(shè)備。缺省該項(xiàng)時自動將對象建立在主邏輯設(shè)備上。*56例3.72 在班級表中按所屬學(xué)院建立一個非聚集索

25、引InstituteIdxCREATE NONCLUSTERED INDEX InstituteIdx ON Class(institute)例3.73 在學(xué)生表中,首先按班級編號的升序,然后按出生日期的降序降序建立一個非聚集索引ClassBirthIdx。CREATE INDEX ClassBirthIdx ON Student(classNo, birthday DESC)*57Mysql中查看表中查看表“tbName”已建立的索引的命令:已建立的索引的命令:mysql show index from tbName; 索引的刪除索引一旦建立,用戶不需要管理它,由系統(tǒng)自動維護(hù);可刪除那些不經(jīng)

26、常使用的索引;刪除索引操作的語法為:DROP INDEX 刪除索引時,系統(tǒng)會同時從系統(tǒng)的數(shù)據(jù)字典中將該索引的描述一起刪除。例3.74 刪除InstituteIdx索引。DROP INDEX InstituteIdx*583.1 插入數(shù)據(jù)插入數(shù)據(jù) 3.2 刪除數(shù)據(jù)刪除數(shù)據(jù)3.3 修改數(shù)據(jù)修改數(shù)據(jù)*593.1 插入數(shù)據(jù)兩種方式:插入單條記錄,插入子查詢子查詢的結(jié)果,一次插入多條記錄。(第六講)插入一條元組:INSERT INTO ( , . ) VALUES ( , . ) columnName1. :指明被插入的元組按指定的屬性名稱和順序插入。 該項(xiàng)可以省略。若省略,表示必須按照表的屬性個數(shù)屬性

27、個數(shù)和屬性順序?qū)傩皂樞虿迦胄略M。*60示例:ScoreDB 導(dǎo)入數(shù)據(jù)數(shù)據(jù)文件:scoredb 數(shù)據(jù)文件.sql在命令行下,用insert命令導(dǎo)入(navicat有可能出問題):或(暫不推薦)使用“source命令”(與文件編碼有關(guān),可能出現(xiàn)亂碼);mysql source X.sql;*61例3.75 將一個新學(xué)生元組(0700006, 李相東, 男, 1991-10-21 00:00, 云南, 撒呢族, CS0701)插入到學(xué)生表Student中。INSERT INTO Student VALUES ( 0700006, 李相東, 男, 1991-10-21 00:00, 云南, 撒呢族,

28、 CS0701 )表名Student后沒有指定列名,表示按照Student表定義的屬性列的個數(shù)個數(shù)和順序順序?qū)⑿略M插入到Student表中。*62 例3.76 將一個新學(xué)生元組(姓名:章李立,出生日期:1991-10-12 00:00,學(xué)號:0700007)插入到學(xué)生表Student中。 INSERT INTO Student ( studentName, birthday, studentNo) VALUES ( 章李立, 1991-10-12 00:00, 0700007 ) 按照指定列的順序和列的個數(shù)向?qū)W生表Student插入一個新元組 沒有列出的屬性列自動取空值; 插入新元組時,數(shù)據(jù)

29、的組織可不按照表結(jié)構(gòu)定義的屬性個數(shù)和順序進(jìn)行插入。*633. 2 刪除數(shù)據(jù)刪除命令:DELETE FROM WHERE :要刪除記錄的表名;WHERE :指出被刪除的記錄所滿足的條件該項(xiàng)可以省略,若省略則表示刪除表中的所有記錄;WHERE子句中可以包含子查詢。*64例3.79刪除學(xué)號為0800001同學(xué)的選課記錄。*65DELETE FROM Score WHERE studentNo=08000013.9.3 修改數(shù)據(jù)UPDATE SET = , = . FROM AS , AS . WHERE *66其中:要進(jìn)行修改記錄的表名;SET = , = . : 用表達(dá)式的值替代屬性列的值一次可以

30、修改元組的多個屬性列,之間以逗號分隔;WHERE :指出被修改的記錄所滿足的條件該項(xiàng)可以省略,若省略,表示修改表中的所有記錄;WHERE子句中可以包含子查詢。*67例3.84將學(xué)號為0800001同學(xué)的出生日期修改為1992年5月6日出生,籍貫修改為福州。*68UPDATE Student SET birthday=1992-5-6 00:00, native=福州 WHERE studentNo=0800001*691、配置mysql,熟悉以下操作:啟動服務(wù)器停止服務(wù)器登錄客戶端查看和配置字符集2、安裝navicat3、使用命令行客戶端建立數(shù)據(jù)庫scoreDB4、在數(shù)據(jù)庫ScoreDB中創(chuàng)建

31、表student、class、score、course。*70附1:安裝安裝mysql解壓到安裝目錄啟動服務(wù)器啟動服務(wù)器 cmd-安裝目錄安裝目錄 mysqld -console運(yùn)行客戶端運(yùn)行客戶端 cmd-安裝目錄安裝目錄 mysql test3、配置3.1、Path路徑配置目的:全局變量,可直接調(diào)用。*72在Path變量中加上加上“mysql安裝目錄安裝目錄/bin;”D:Program Filesmysql-5.5.27-win32bin;*73*741.2、my.ini配置配置目的:配置mySql啟動參數(shù),設(shè)置客戶端和服務(wù)端的字符集。Mysql根目錄新建my.ini,加入如下(參考my

32、.ini)clientport = 3306socket = /tmp/mysql.sockdefault-character-set =gbkmysqldport = 3306socket = /tmp/mysql.sock#basedir =#datadir =character_set_server=gbk*751.3、服務(wù)啟動方式配置、服務(wù)啟動方式配置1)命令行啟動和停止)命令行啟動和停止啟動:mysqld console 停止:mysqladmin u root p shutdown;2)設(shè)置為)設(shè)置為Windows服務(wù)(不用)服務(wù)(不用) mysqld install 或或 net

33、 start mysql刪除Windows服務(wù)mysqld remove 或或 sc delet mysql*761.4、配置客戶端和連接字符集、配置客戶端和連接字符集目的:減少亂碼。1)查看數(shù)據(jù)庫字符集show variables like character%;2)更改數(shù)據(jù)庫字符集set character_set_client = gbk ;set character_set_connection = gbk ;注:除character_set_filesystem、character_set_system和character_sets_dir,其他變量均設(shè)置為gbk。安裝、配置Navi

34、cat mysql管理客戶端7778用Navicat 新建數(shù)據(jù)庫79建表80附2 建立學(xué)生成績數(shù)據(jù)庫ScoreDB*81DROP DATABASE if exists ScoreDB;CREATE DATABASE ScoreDB ;USE ScoreDB;附3 建立ScroeDB的4張表CREATE TABLE Class ( /* 定義班級表Class*/ classNo char(6) NOT NULL , /*班級號*/ className varchar(30) NOT NULL, /*班級名*/ institute varchar(30) NOT NULL, /*所屬學(xué)院*/ gr

35、ade smallint default 0 NOT NULL, /*年級*/ classNum tinyint NULL, /*班級人數(shù)*/ CONSTRAINT ClassPK PRIMARY KEY (classNo) ) 課程表CourseCREATE TABLE Course ( /* 定義課程表Course*/ courseNo char(3) NOT NULL , /*課程號*/ courseName varchar(30) NOT NULL, /*課程名*/ creditHour numeric(1) default 0 NOT NULL, /*學(xué)分*/ courseHour tinyint default 0 NOT NULL, /*

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論