版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
本節(jié)主要內(nèi)容MySQL服務(wù)器的啟動和關(guān)閉創(chuàng)建項目數(shù)據(jù)庫創(chuàng)建項目數(shù)據(jù)表操作數(shù)據(jù)表數(shù)據(jù)
PHPMyAdmin圖形管理工具的使用MySQL服務(wù)器的啟動使用phpStudy控制頁面進行啟動使用MySQLConsole命令窗口單擊PHPStudy集成安裝環(huán)境主界面上的『其他選項菜單』-『MySQL工具』-『MySQL命令行』,打開MySQL命令行窗口。MySQL命令窗口成功連接到MySQL服務(wù)器MySQL服務(wù)器的關(guān)閉連接到MySQL服務(wù)器后,可以通過在mysql>命令提示符下鍵入“exit;”或者“quit;”命令來斷開MySQL服務(wù)器。創(chuàng)建項目數(shù)據(jù)庫數(shù)據(jù)庫是存儲數(shù)據(jù)對象的容器,對數(shù)據(jù)庫的操作包括:查看數(shù)據(jù)庫:顯示系統(tǒng)中的全部數(shù)據(jù)庫;創(chuàng)建數(shù)據(jù)庫:創(chuàng)建一個新的數(shù)據(jù)庫;使用數(shù)據(jù)庫:切換默認數(shù)據(jù)庫;修改數(shù)據(jù)庫:修改數(shù)據(jù)庫的參數(shù);刪除數(shù)據(jù)庫:刪除一個數(shù)據(jù)庫;創(chuàng)建項目數(shù)據(jù)庫查看數(shù)據(jù)庫:顯示系統(tǒng)中的全部數(shù)據(jù)庫;SHOW{DATABASES|SCHEMAS}[LIKE'pattern'|WHEREexpr];
顯示當前系統(tǒng)中的全部數(shù)據(jù)庫。創(chuàng)建項目數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫CREATE{DATABASE|SCHEMA}[IFNOTEXISTS]db_name[create_specification[,create_specification]...]其中create_specification:[DEFAULT]CHARACTERSETcharset_name|[DEFAULT]COLLATEcollation_nameIFNOTEXISTS:在建數(shù)據(jù)庫前進行判斷,只有該數(shù)據(jù)庫目前尚不存在時才執(zhí)行CREATEDATABASE操作DEFAULT:指定默認值。
CHARACTERSET:指定數(shù)據(jù)庫字符集(Charset),charset_name為字符集名稱
COLLATE:指定字符集的校對規(guī)則,collation_name為校對規(guī)則名稱創(chuàng)建項目數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫
創(chuàng)建PHP新聞管理系統(tǒng)的數(shù)據(jù)庫db_news。創(chuàng)建項目數(shù)據(jù)庫使用數(shù)據(jù)庫USEdb_name;
使用新聞管理系統(tǒng)數(shù)據(jù)庫db_news。查看默認數(shù)據(jù)庫將db_news設(shè)為默認數(shù)據(jù)庫SELECTDATABASE();//查看默認數(shù)據(jù)庫創(chuàng)建項目數(shù)據(jù)庫修改數(shù)據(jù)庫ALTER{DATABASE|SCHEMA}[db_name]alter_specification[,alter_specification]...其中alter_specification:
[DEFAULT]CHARACTERSETcharset_name|[DEFAULT]COLLATEcollation_name
修改新聞管理系統(tǒng)數(shù)據(jù)庫db_news的默認字符集和校對規(guī)則。ALTERDATABASEdb_newsDEFAULTCHARACTERSETutf8DEFAULTCOLLATEutf8_general_ci;創(chuàng)建項目數(shù)據(jù)庫刪除數(shù)據(jù)庫DROPDATABASE[IFEXISTS]db_nameIFEXISTS:在刪除數(shù)據(jù)庫前進行判斷,只有該數(shù)據(jù)庫存在時才執(zhí)行DROPDATABASE操作練一練列出當前系統(tǒng)中的全部數(shù)據(jù)庫。創(chuàng)建新聞管理系統(tǒng)數(shù)據(jù)庫db_news。使用新聞管理系統(tǒng)數(shù)據(jù)庫db_news。修改新聞管理系統(tǒng)數(shù)據(jù)庫db_news的默認字符集和校對規(guī)則。項目數(shù)據(jù)表數(shù)據(jù)表是數(shù)據(jù)庫存放數(shù)據(jù)的數(shù)據(jù)對象,對數(shù)據(jù)表的操作包括:查看數(shù)據(jù)表:顯示默認數(shù)據(jù)庫中的全部數(shù)據(jù)表;創(chuàng)建數(shù)據(jù)表:創(chuàng)建一個新的數(shù)據(jù)表;修改數(shù)據(jù)表:更改數(shù)據(jù)表的結(jié)構(gòu)重命名數(shù)據(jù)表:修改數(shù)據(jù)表的名字;刪除數(shù)據(jù)表:刪除一個數(shù)據(jù)表及其全部數(shù)據(jù);項目數(shù)據(jù)表查看數(shù)據(jù)表SHOW[FULL]TABLES[{FROM|IN}db_name][LIKE'pattern'|WHEREexpr];查看數(shù)據(jù)表的具體信息{DESCRIBE|DESC}tbl_name[col_name|wild]數(shù)據(jù)類型整數(shù)類型名稱長度用法TINYINT(M)
BIT,BOOL,BOOLEAN1
如為無符號數(shù),可存儲從0到255的數(shù);否則可存儲從-128到127的數(shù)。
SMALLINT(M)
2如為無符號數(shù),可以存儲從0到65535的數(shù);否則可以存儲從-32768到32767的數(shù)。
MEDIUMINT(M)
3
如果為無符號數(shù),可以存儲從0到16777215的數(shù);否則可以存儲從-8388608到8388607的數(shù)
INT(M)
INTEGER(M)
4如果為無符號數(shù),可以存儲從0到4294967295的數(shù),否則可以存儲從-2147483648到2147483647的數(shù)。BIGINT(M)
8
如果為無符號數(shù),可以存儲從0到18446744073709551615的數(shù),否則可以存儲從-9223372036854775808到9223372036854775807的數(shù)。
數(shù)據(jù)類型浮點類型名稱長度用法FLOAT(precision)
4或8
precision是可以直達53的整數(shù)。如果precision<=24則轉(zhuǎn)為FLOAT,如precision>24且precision<=53則轉(zhuǎn)為DOUBLE。
FLOAT(M,D)4
單精度浮點數(shù)。
DOUBLE(M,D),
DOUBLEPRECISION,
REAL8
雙精度浮點。DECIMAL(M,D),DEC,NUMERIC,FIXED
M+1或M+2
未打包的浮點數(shù)。
數(shù)據(jù)類型日期時間型名稱長度用法DATE
3
以YYYY-MM-DD的格式顯示。DATETIME
8
以YYYY-MM-DDHH:MM:SS的格式顯示。TIMESTAMP
4
以YYYY-MM-DDHH:MM:SS的格式顯示。TIME3
以HH:MM:SS的格式顯示。
YEAR1
以YYYY的格式顯示。
數(shù)據(jù)類型字符串類型和其他數(shù)據(jù)類型名稱長度用法CHAR(M)M定長字符串。
VARCHAR(M)
最大M變長字符串。M<=255.
TINYBLOB,TINYTEXT
最大255TINYBLOB為大小寫敏感,而TINYTEXT不是大小寫敏感BLOB,TEXT
最大64K
BLOB為大小敏感的,而TEXT不是大小寫敏感MEDIUMBLOB,
MEDIUMTEXT最大16M
MEDIUMBLOB為大小寫敏感的,而MEDIUMTEXT不是大小敏感
LONGBLOB,
LONGTEXT
最大4G
LONGBLOB為大小敏感的,而LONGTEXT不是大小敏感
ENUM(VALUE1,….)
1或2
最大可達65535個不同的值。
SET(VALUE1,….)
可達8
最大可達64個不同的值。
數(shù)據(jù)類型創(chuàng)建數(shù)據(jù)表CREATE[TEMPORARY]TABLE[IFNOTEXISTS]tbl_name[([column_definition,...|[index_definition])][table_option][select_statement];TEMPORARY:該關(guān)鍵字表示用CREATE命令新建的表為臨時表column_definition:列定義,包括列名、數(shù)據(jù)類型,空值聲明和完整性約束。index_definition:表索引項定義,主要定義表的索引、主鍵、外鍵等table_option:用于描述表的選項。select_statement:可以在CREATETABLE語句的末尾添加一個SELECT語句,在現(xiàn)有表的基礎(chǔ)上創(chuàng)建表。創(chuàng)建項目數(shù)據(jù)表
創(chuàng)建新聞管理系統(tǒng)數(shù)據(jù)庫中的用戶表。createtabletbl_user(uidint(11),unamevarchar(50),upassvarchar(20),uemailvarchar(50),headimgvarchar(50),regtimetimestamp,gendersmallint(6),powersmallint(6));創(chuàng)建項目數(shù)據(jù)表列定義col_nametype[NOTNULL|NULL][DEFAULTdefault_value][AUTO_INCREMENT][UNIQUE[KEY]|[PRIMARY]KEY][COMMENT'string'][reference_definition]UNIQUEKEY|PRIMARYKEY:PRIMARYKEY和UNIQUEKEY都表示字段中的值是唯一的。PRIMARYKEY表示設(shè)置為主鍵,一個表只能定義一個主鍵,主鍵一定要為NOTNULLCOMMENT'string':對于列的描述,string是描述的內(nèi)容。createtabletbl_user(uidint(11)notnullauto_incrementcomment'用戶編號',unamevarchar(50)notnullcomment'用戶名',upassvarchar(20)notnullcomment'密碼',uemailvarchar(50)notnullcomment'郵箱',headimgvarchar(50)notnullcomment'頭像',regtimetimestampnotnulldefaultcurrent_timestampcomment'注冊時間',gendersmallint(6)notnullcomment'性別',powersmallint(6)notnullcomment'用戶權(quán)限',
primarykey(uid)/*設(shè)置用戶編號為主鍵*/);創(chuàng)建項目數(shù)據(jù)表表選項{ENGINE|TYPE}=engine_name/*存儲引擎*/|AUTO_INCREMENT=value/*初始值*/|[DEFAULT]CHARACTERSETcharset_name[COLLATEcollation_name]/*默認字符集*/……特性MyISAM(默認)InnoDB構(gòu)成table實際保存為三個文件,.frm存儲表定義,.MYD存儲數(shù)據(jù),.MYI存儲索引由一個名為ibdata1的自動擴展數(shù)據(jù)文件和兩個名為ib_logfile0與b_logfile1的日志文件構(gòu)成。事務(wù)處理是一種非事務(wù)性的引擎,提供高速存儲和檢索,以及全文搜索能力,但是不提供事務(wù)支持InnoDB提供事務(wù)支持事務(wù),外部鍵等高級數(shù)據(jù)庫功能創(chuàng)建項目數(shù)據(jù)表
創(chuàng)建用戶表的最終代碼createtabletbl_user(uidint(11)notnullauto_incrementcomment'用戶編號',unamevarchar(50)notnullcomment'用戶名',upassvarchar(20)notnullcomment'密碼',uemailvarchar(50)notnullcomment'郵箱',headimgvarchar(50)notnullcomment'頭像',regtimetimestampnotnulldefaultcurrent_timestampcomment'注冊時間',gendersmallint(6)notnullcomment'性別',powersmallint(6)notnullcomment'用戶權(quán)限',
primarykey(uid)/*設(shè)置用戶編號為主鍵*/)ENGINE=InnoDBDEFAULTCHARSET=utf8;創(chuàng)建數(shù)據(jù)約束約束是一個命名規(guī)則和機制:即通過對數(shù)據(jù)的增、刪、改操作加一些限制,以保證數(shù)據(jù)庫的數(shù)據(jù)完整性,MySQL中支持5種約束“不為空”缺省值Unique約束主鍵約束外鍵約束定義約束有兩種方式:列約束和表約束列約束定義在一個列上,只能對該列起約束作用表約束一般定義在一個表的多個列上,要求被約束列滿足一定的關(guān)系。創(chuàng)建數(shù)據(jù)約束NOTNULL約束被約束的列不能包含NULL值,只能是列約束CREATETABLEtbl_user( uidINT(11)NOTNULL);指定UID列不能為空創(chuàng)建數(shù)據(jù)約束DEFAULT約束DEFAULT約束用于向列中插入默認值,只能是列約束CREATETABLEtbl_user(nameVARCHAR(20)NOTNULL,passwordVARCHAR(20)NOTNULL,regTimetimestampNOTNULLDEFAULTCURRENT_TIMESTAMP);指定注冊日期的默認值為當前時間創(chuàng)建數(shù)據(jù)約束UNIQUE約束UNIQUE約束要求該列中所有值都是唯一的,既可以定義成列約束,也可以定義成表約束CREATETABLEtbl_user(nameVARCHAR(20)NOTNULLUNIQUE,/*列級約束*/passwordVARCHAR(20)NOTNULL);CREATETABLEtbl_user(nameVARCHAR(20)NOTNULL,passwordVARCHAR(20)NOTNULL,UNIQUE(name)/*表級約束*/);創(chuàng)建數(shù)據(jù)約束PRIMARYKEY約束用于規(guī)定表中被約束的列只能包含唯一的非NULL的值,既可以定義成列約束,也可以定義成表約束CREATETABLEtbl_user(nameVARCHAR(20)NOTNULLPRIMARYKEY,/*列級約束*/passwordVARCHAR(20)NOTNULL);CREATETABLEtbl_user(nameVARCHAR(20)NOTNULL,passwordVARCHAR(20)NOTNULL,
PRIMARYKEY(name)/*表級約束*/);創(chuàng)建數(shù)據(jù)約束FOREIGNKEY約束也稱為外鍵約束,用于建立表間關(guān)系,表明被外鍵修飾的字段在另一張表中(也稱主表)是主關(guān)鍵字,使用外鍵可以保證數(shù)據(jù)的一致性和完整性。MYSQL中對外鍵提供了有限的支持,目前只有InnoDB引擎支持外鍵,它要求所有關(guān)聯(lián)表都必須是InnoDB型,而且不能是臨時表只支持表級約束實現(xiàn)[CONSTRAINT[symbol]]FOREIGNKEY[index_name](index_col_name,...)/*外鍵列*/REFERENCEStbl_name(index_col_name,...)/*引用列*/[ONDELETEreference_option]/*刪除時的關(guān)聯(lián)操作方式*/[ONUPDATEreference_option]/*修改時的關(guān)聯(lián)操作方式*/
reference_option:RESTRICT|CASCADE|SETNULL|NOACTION/*限制|級聯(lián)|設(shè)空|無*/創(chuàng)建數(shù)據(jù)約束MYSQL中的外鍵約束示例CREATETABLEtbl_newsclass(classidINTNOTNULLPRIMARYKEY)ENGINE=innodb;CREATETABLEtbl_news(newsidINTNOTNULLPRIMARYKEY,classidINTNOTNULL,FOREIGNKEY(classid)REFERENCEStbl_newsclass(classid))ENGINE=innodb;創(chuàng)建新聞分類表,并將類別編號設(shè)為主鍵創(chuàng)建新聞表,將新聞編號設(shè)為主鍵,將所屬類別設(shè)為外鍵,引用新聞類別表中的classid列課后練習(xí)完成新聞管理系統(tǒng)的數(shù)據(jù)表創(chuàng)建:用戶表的創(chuàng)建新聞分類表的創(chuàng)建新聞表的創(chuàng)建新聞評論表的創(chuàng)建新聞點贊表的創(chuàng)建操作MySQL語句創(chuàng)建數(shù)據(jù)庫和表后,需要對表中的數(shù)據(jù)進行操作,包括插入、刪除、修改和查詢操作,可以通過SQL語句來實現(xiàn)。插入數(shù)據(jù)insert語句查詢數(shù)據(jù)select語句修改數(shù)據(jù)update語句刪除數(shù)據(jù)delete語句數(shù)據(jù)管理語句插入數(shù)據(jù):INSET或REPLACE語句INSERT[LOW_PRIORITY|DELAYED|HIGH_PRIORITY][IGNORE][INTO]tbl_name[(col_name,...)]VALUES({expr|DEFAULT},...),(...),...[ONDUPLICATEKEYUPDATEcol_name=expr,...]
例:向新聞分類表中插入一條數(shù)據(jù),其SQL語句如下:insertintotbl_newsclass(classname,classdesc)values('軍事','關(guān)于軍事的新聞');數(shù)據(jù)管理語句修改數(shù)據(jù):UPDATEUPDATE
[LOW_PRIORITY][IGNORE]tbl_name
SETcol_name1=expr1[,col_name2=expr2...]
[WHEREwhere_definition]
[ORDERBY...]
[LIMITrow_count]
將用戶表中uId為1的用戶性別修改為男性。UPDATEtbl_userSETgender=1WHEREuid=1;數(shù)據(jù)管理語句刪除數(shù)據(jù):DELETL語句DELETEFROMtbl_name[WHEREwhere_definition]FROM子句:用于指明從何處刪除數(shù)據(jù),tbl_name為要刪除數(shù)據(jù)的表名,注意:MYSQL中該關(guān)鍵字不可省略;WHERE子句:用于指明刪除時的過濾條件,如果不指明,則默認為刪除全部數(shù)據(jù);
將用戶表中uId為3的記錄刪除DELETEFROMtbl_userWHEREuid=3;數(shù)據(jù)查詢語句查詢數(shù)據(jù)庫:SELECTselectselect_expr[,select_expr...]/*select子句*/
from
table_references/*from子句*/
wherewhere_condition/*where子句*/
groupby{col_name|expr|position}/*groupby子句*/
having
where_condition/*having子句*/
orderby{col_name|expr|position}[asc|desc]/*orderby子句*/limit
[offset]row_count/*limit子句*/數(shù)據(jù)查詢語句Select子句
查詢用戶名、性別和注冊時間。SELECTuName,gender,regtimeFROMtbl_user;數(shù)據(jù)查詢語句select子句
查詢用戶表中的全體用戶的詳細信息。SELECT*FROMtbl_newsclass;數(shù)據(jù)查詢語句select子句
使用別名顯示用戶的用戶名、性別和注冊時間。SELECTuName'用戶名',genderAS'性別',regtimeAS'注冊時間'FROMtbl_user;①別名如果是字母或數(shù)字時,可以省略定界符“’”,但如果別名中含有特殊字符,如空格時則必須使用定界符“’”②WHERE子句中不能使用列別名SELECTuNameAS'用戶名',
CASEWHENgenderISNULLTHEN'保密'/*為空時顯示保密*/WHENgender=1THEN'男'/*為1時顯示男*/WHENgender=2THEN'女'/*為2時顯示女*/ENDAS'性別'FROMtbl_user;數(shù)據(jù)查詢語句select子句CASEWHEN條件1THEN表達式1WHEN條件2THEN表達式2……ELSE表達式END
顯示用戶表中的用戶名和性別,要求將性別的查詢結(jié)果替換為“男”或“女”。數(shù)據(jù)查詢語句查詢數(shù)據(jù)庫:SELECT聚合函數(shù):用于對一組值進行計算,返回單個值函數(shù)名說明COUNT統(tǒng)計給定表達式中所有值的數(shù)目MAX返回給定表達式中所有值中的最大值MIN返回給定表達式中所有值中的最小值SUM返回給定表達式中所有值的和AVG返回給定表達式中所有值的平均值數(shù)據(jù)查詢語句查詢數(shù)據(jù)庫:
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)分析挖掘算法實踐指南
- 2025年企業(yè)財務(wù)管理與財務(wù)報表編制規(guī)范
- 互聯(lián)網(wǎng)廣告管理與法規(guī)手冊(標準版)
- 高中生對AI在太陽能電池材料創(chuàng)新設(shè)計中的應(yīng)用設(shè)想調(diào)查課題報告教學(xué)研究課題報告
- 項目管理流程與規(guī)范指南(標準版)
- 信息技術(shù)四年級《賀卡設(shè)計與制作》教學(xué)設(shè)計
- 2025年體育健身行業(yè)運營管理指南
- 2025年石油天然氣開采與安全管理手冊
- 高中物理教學(xué)中量子力學(xué)初步與科學(xué)前沿探索的課題報告教學(xué)研究課題報告001
- 城市快速路養(yǎng)護作業(yè)區(qū)交通導(dǎo)改方案細則
- 國開生命健康學(xué)院《中藥炮制》形成性考核一答卷
- GB/T 28035-2011軟件系統(tǒng)驗收規(guī)范
- GB 29518-2013柴油發(fā)動機氮氧化物還原劑尿素水溶液(AUS 32)
- GB 14746-2006兒童自行車安全要求
- 最新部編版四年級語文下冊第一單元課件
- 資金時間價值-課件
- 顯微根管治療課件
- 人教版《生命.生態(tài).安全》六年級上冊全冊教案
- 京東考試答案
- 蛇咬傷的救治護理 課件
- 電商代理銷售合同范本
評論
0/150
提交評論