freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

mysql金典培訓(xùn)教程:06第三章(編輯修改稿)

2025-07-26 08:23 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 除數(shù)據(jù)庫(kù):shell mysqladmin drop db_name如果出現(xiàn)下面的錯(cuò)誤:mysqladmin: connect to server at 39。localhost39。 failederror: 39。Access denied for user: 39。root@localhost39。 (Using password: YES)39。表示你需要一個(gè)可以正常連接的用戶,請(qǐng)指定u p 選項(xiàng),具體方法與 節(jié)介紹相同,在第七章中你將會(huì)學(xué)到用戶授權(quán)的知識(shí)。 直接在數(shù)據(jù)庫(kù)目錄中創(chuàng)建或刪除用上述方法創(chuàng)建數(shù)據(jù)庫(kù),只是 MySQL 數(shù)據(jù)目錄下面創(chuàng)建一個(gè)與數(shù)據(jù)庫(kù)同名目錄,同樣刪除數(shù)據(jù)庫(kù)是把這個(gè)目錄刪除。所以,你可以直接這么做,創(chuàng)建或刪除數(shù)據(jù)庫(kù),或者給數(shù)據(jù)庫(kù)更名。這對(duì)備份和恢復(fù)備份有一定意義。 用 USE 選用數(shù)據(jù)庫(kù)句法:USE db_name USE db_name 語(yǔ)句告訴 MySQL 使用 db_name 數(shù)據(jù)庫(kù)作為隨后的查詢的缺省數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)保持到會(huì)話結(jié)束,或發(fā)出另外一個(gè) USE 語(yǔ)句: mysql USE db1。mysql SELECT count(*) FROM mytable。 selects from mysql USE db2。mysql SELECT count(*) FROM mytable。 selects from 如果你不是用 USE 語(yǔ)句,那么上面的例子應(yīng)該寫成:mysql SELECT count(*) FROM 。mysql SELECT count(*) FROM 。57 / 30由于 use 也是一個(gè) mysql 客戶程序的命令,所以你可以在命令行最后不加分號(hào),客戶程序可以得到結(jié)果。 總結(jié)本節(jié)介紹了有關(guān)數(shù)據(jù)庫(kù)操作的 SQL 語(yǔ)句、實(shí)用程序,其中包括:? SQL 語(yǔ)句: CREATE/DROP DATABASE,SHOW DATABASES,USE? 程序 mysqladmin? 直接創(chuàng)建或刪除數(shù)據(jù)庫(kù)的目錄 有關(guān)數(shù)據(jù)表的操作用 MySQL,目前(版本 )你可以在三種基本數(shù)據(jù)庫(kù)表格式間選擇。當(dāng)你創(chuàng)建一張表時(shí),你可以告訴 MySQL 它應(yīng)該對(duì)于表使用哪個(gè)表類型。MySQL 文件保存表和列定義。視表類型而定,索引和數(shù)據(jù)將在其他文件中存儲(chǔ)。 你能用 ALTER TABLE 語(yǔ)句在不同類型的表之間變換。見 ALTER TABLE 語(yǔ)法。 ? MyISAM 在 MySQL 中,MyISAM 是缺省表格類型,它是基于 ISAM 代碼并且有很多有用的擴(kuò)展。(MYindex)(MYData)擴(kuò)展名的文件中。你能用 myisamchk 實(shí)用程序檢查/修復(fù) MyISAM 表。? ISAM你也可以使用放棄的 ISAM。這將在不久消失,因?yàn)?MyISAM 是同一個(gè)東西的更好實(shí)現(xiàn)。ISAM 使用一個(gè) Btree 索引,這個(gè)索引存儲(chǔ)在一個(gè)有 .ISM 擴(kuò)展名的文件中,你可用 isamchk 實(shí)用程序檢查/修復(fù) ISAM 表。ISAM 表不是跨 OS/平臺(tái)二進(jìn)制可移植的。? HEAP HEAP 表格使用一個(gè)雜湊(hashed)索引并且存儲(chǔ)在內(nèi)存中。這使他們更快,但是如果 MySQL崩潰,你將失去所有存儲(chǔ)的數(shù)據(jù)。HEAP 作為臨時(shí)表很可用! 用 SHOW/ DESCRIBE 語(yǔ)句顯示數(shù)據(jù)表的信息句法:SHOW TABLES [FROM db_name] [LIKE wild]or SHOW COLUMNS FROM tbl_name [FROM db_name] [LIKE wild]or SHOW INDEX FROM tbl_name [FROM db_name]or SHOW TABLE STATUS [FROM db_name] [LIKE wild]{DESCRIBE | DESC} tbl_name {col_name | wild}你能使用 作為 tbl_name FROM db_name 句法的另一種選擇。? SHOW TABLES 列出在一個(gè)給定的數(shù)據(jù)庫(kù)中的表。你也可以用 mysqlshow db_name 命令得到這張表。 注意:如果一個(gè)用戶沒有一個(gè)表的任何權(quán)限,表將不在 SHOW TABLES 或 mysqlshow db_name 中的輸出中顯示。? SHOW COLUMNS 列出在一個(gè)給定表中的列。如果列類型不同于你期望的是基于CREATE TABLE 語(yǔ)句的那樣,注意,MySQL 有時(shí)改變列類型。? DESCRIBE 語(yǔ)句提供了類似 SHOW COLUMNS 的信息。DESCRIBE 提供關(guān)于一張表的列的信息。col_name 可以是一個(gè)列名字或包含 SQL 的“%”和“_”通配符的一個(gè)字符串。這個(gè)語(yǔ)句為了與 Oracle 兼容而提供的。 ? SHOW TABLE STATUS(在版本 引入)運(yùn)行類似 SHOW STATUS,但是提供每個(gè)表的更多信息。你也可以使用 mysqlshow status db_name 命令得到這張表。 ? SHOW FIELDS 是 SHOW COLUMNS 一個(gè)同義詞,SHOW KEYS 是 SHOW INDEX 一個(gè)同義詞。? 你也可以用 mysqlshow db_name tbl_name 或 mysqlshow k db_name tbl_name 列出一張表的列或索引。? SHOW INDEX 以非常相似于 ODBC 的 SQLStatistics 調(diào)用的格式返回索引信息。 使用 mysqlshow 工具得到信息下面簡(jiǎn)單介紹一下 mysqlshow 實(shí)用程序的用法,在得到數(shù)據(jù)庫(kù)和表的信息上,使用起來非常方便。得到已有數(shù)據(jù)庫(kù)的列表:shell mysqlshow 列出某數(shù)據(jù)庫(kù) db_name 中已有的表:shell mysqlshow db_name列出某數(shù)據(jù)庫(kù)表 的結(jié)構(gòu)信息:shellmysqlshow db_name tbl_name列出一張表的索引:shell mysqlshow –k db_name tbl_name 用 CREATE TABLE 語(yǔ)句創(chuàng)建數(shù)據(jù)表用 CREATE TABLE 語(yǔ)句創(chuàng)建表。此語(yǔ)句的完整語(yǔ)法是相當(dāng)復(fù)雜的,因?yàn)榇嬖谀敲炊嗟目蛇x子句,但在實(shí)際中此語(yǔ)句的應(yīng)用相當(dāng)簡(jiǎn)單。如我們?cè)诘?1 章中使用的所有 CREATE TABLE 語(yǔ)句都不那么復(fù)雜。有意思的是,大多數(shù)復(fù)雜東西都是一些子句,這些子句 MySQL 在分析后扔掉。參閱附錄 1 可以看到這些復(fù)雜的東西。 CREATE TABLE 語(yǔ)句的基本語(yǔ)法CREATE TABLE tbl_name(create_definition,...) [TYPE =table_type]create_definition: col_name type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT][PRIMARY KEY]在 或以后版本中,表名可以被指定為 ,不管有沒有當(dāng)前的數(shù)據(jù)庫(kù)都可以。例如,創(chuàng)建一個(gè)訪問者留言表:shell mysql –u root –pmysql create database mytest。mysql CREATE TABLE  guestbook ( visitor VARCHAR(40), ments TEXT,59 / 30 entrydate DATETIME)。 如果一切正常,祝賀你,你已經(jīng)建立了你的第一個(gè)表! 你所創(chuàng)建的表名為 guestbook,你可以使用這個(gè)表來存儲(chǔ)來字你站點(diǎn)訪問者的信息。你是用REEATE TABLE 語(yǔ)句創(chuàng)建的這個(gè)表,這個(gè)語(yǔ)句有兩部分:第一部份指定表的名子;第二部份是括在括號(hào)中的各字段的名稱和屬性,相互之間用逗號(hào)隔開。 表 guestbook 有三個(gè)字段:visitor,ments 和 entrydate。visitor 字段存儲(chǔ)訪問者的名字,ments 字段存儲(chǔ)訪問者對(duì)你站點(diǎn)的意見,entrydate 字段存儲(chǔ)訪問者訪問你站點(diǎn)的日期和時(shí)間。 注意每個(gè)字段名后面都跟有一個(gè)專門的表達(dá)式。例如,字段名 ments 后面跟有表達(dá)式TEXT。這個(gè)表達(dá)式指定了字段的數(shù)據(jù)類型。數(shù)據(jù)類型決定了一個(gè)字段可以存儲(chǔ)什么樣的數(shù)據(jù)。因?yàn)樽侄?ments 包含文本信息,其數(shù)據(jù)類型定義為文本型。 如何指定表的類型你也可以在創(chuàng)建表時(shí)指定表的類型,如果不指定表的類型,在 及以前版本中缺省為 ISAM表,在 版本中缺省為 MyISAM 表。你應(yīng)該盡量使用 MyISAM 表。指定表的類型經(jīng)常用于創(chuàng)建一個(gè) HEAP 表:mysql CREATE TABLE fast(id int,articles TEXT) TYPE=HEAP。隱含的列說明的改變?cè)谀承┣闆r下,MySQL 隱含地改變?cè)谝粋€(gè) CREATE TABLE 語(yǔ)句給出的一個(gè)列說明。(這也可能在 ALTER TABLE。) ? 長(zhǎng)度小于 4 的 VARCHAR 被改變?yōu)?CHAR。 ? 如果在一個(gè)表中的任何列有可變長(zhǎng)度,結(jié)果是整個(gè)行是變長(zhǎng)的。因此, 如果一張表包含任何變長(zhǎng)的列(VARCHAR、TEXT 或 BLOB),所有大于 3 個(gè)字符的 CHAR 列被改變?yōu)閂ARCHAR 列。這在任何方面都不影響你如何使用列;在 MySQL 中,VARCHAR 只是存儲(chǔ)字符的一個(gè)不同方法。MySQL 實(shí)施這種改變,是因?yàn)樗?jié)省空間并且使表操作更快捷。 ? TIMESTAMP 的顯示尺寸必須是偶數(shù)且在 2 ~ 14 的范圍內(nèi)。如果你指定 0 顯示尺寸或比14 大,尺寸被強(qiáng)制為 14。從 1~13 范圍內(nèi)的奇數(shù)值尺寸被強(qiáng)制為下一個(gè)更大的偶數(shù)。 ? 你不能在一個(gè) TIMESTAMP 列里面存儲(chǔ)一個(gè)文字 NULL;將它設(shè)為 NULL 將設(shè)置為當(dāng)前的日期和時(shí)間。因?yàn)?TIMESTAMP 列表現(xiàn)就是這樣,NULL 和 NOT NULL 屬性不以一般的方式運(yùn)用并且如果你指定他們,將被忽略。DESCRIBE tbl_name 總是報(bào)告該 TIMESTAMP列可能賦予了 NULL 值。 如果你想要知道 MySQL 是否使用了除你指定的以外的一種列類型,在創(chuàng)建或改變你的表之后,發(fā)出一個(gè) DESCRIBE tbl_name 語(yǔ)句即可。 利用 SELECT 的結(jié)果創(chuàng)建表關(guān)系數(shù)據(jù)庫(kù)的一個(gè)重要概念是,任何數(shù)據(jù)都表示為行和列組成的表,而每條 SELECT 語(yǔ)句的結(jié)果也都是一個(gè)行和列組成的表。在許多情況下,來自 SELECT 的“表”僅是一個(gè)隨著您的工作在顯示屏上滾動(dòng)的行和列的圖像。在 MySQL 以前,如果想將 SELECT 的結(jié)果保存在一個(gè)表中以便以后的查詢使用,必須進(jìn)行特殊的安排:1) 運(yùn)行 DESCRIBE 或 SHOW COLUMNS 查詢以確定想從中獲取信息的表中的列類型。2) 創(chuàng)建一個(gè)表,明確地指定剛才查看到的列的名稱和類型。3) 在創(chuàng)建了該表后,發(fā)布一條 INSERT ... SELECT 查詢,檢索出結(jié)果并將它們插入所創(chuàng)建的表中。在 MySQL 中,全都作了改動(dòng)。CREATE TABLE ... SELECT 語(yǔ)句消除了這些浪費(fèi)時(shí)間的東西,使得能利用 SELECT 查詢的結(jié)果直接得出一個(gè)新表。只需一步就可以完成任務(wù),不必知道或指定所檢索的列的數(shù)據(jù)類型。這使得很容易創(chuàng)建一個(gè)完全用所喜歡的數(shù)據(jù)填充的表,并且為進(jìn)一步查詢作了準(zhǔn)備。? 如果你在 CREATE 語(yǔ)句后指定一個(gè) SELECT,MySQL 將為在 SELECT 中所有的單元?jiǎng)?chuàng)鍵新字段。例如:mysql CREATE TABLE test (a int not null auto_increment,primary key (a), key(b)) SELECT b,c from test2。這將創(chuàng)建一個(gè)有 3 個(gè)列(a,b,c)的表,其中 b,c 列的數(shù)據(jù)來自表 test2。注意如果在拷貝數(shù)據(jù)進(jìn)表時(shí)發(fā)生任何錯(cuò)誤,表將自動(dòng)被刪除。 ? 可以通過選擇一個(gè)表的全部?jī)?nèi)容(無 WHERE 子句)來拷貝一個(gè)表,或利用一個(gè)總是失敗的 WHERE 子句來創(chuàng)建一個(gè)空表,如:mysql CREATE TABLE test SELECT * from test2。mysql CREATE TABLE test SELECT * from test2 where 0。如果希望利用 LOAD DATA 將一個(gè)數(shù)據(jù)文件裝入原來的文件中,而不敢肯定是否具有指定的正確數(shù)據(jù)格式時(shí),創(chuàng)建空拷貝很有用。您并不希望在第一次未得到正確的選項(xiàng)時(shí)以原來表中畸形的記錄而告終。利用原表的空拷貝允許對(duì)特定的列和行分隔符用 LOAD DATA 的選項(xiàng)進(jìn)行試驗(yàn),直到對(duì)輸入數(shù)據(jù)的解釋滿意時(shí)為止。在滿意之后,就可以將數(shù)據(jù)裝入原表了??山Y(jié)合使用 CREATE TEMPORARY TABLE 與 SELECT 來創(chuàng)建一個(gè)臨時(shí)表作為它自身的拷貝,如:這允許修改 my_tbl 的內(nèi)容而不影響原來的內(nèi)容。在希望試驗(yàn)對(duì)某些修改表內(nèi)容的查詢,而又不想更改原表內(nèi)容時(shí),這樣做很有用。為了使用利用原表名的預(yù)先編寫的腳本,不需要為引用不同的表而編輯這些腳本;只需在腳本的起始處增加 CREATE TEMPORARY TABLE 語(yǔ)句即可。相應(yīng)的腳本將創(chuàng)建一個(gè)臨時(shí)拷貝,并對(duì)此拷貝進(jìn)行操作,當(dāng)腳本結(jié)束時(shí)服務(wù)器會(huì)自動(dòng)刪除這個(gè)拷貝。要?jiǎng)?chuàng)建一個(gè)作為自身的空拷貝的表,可以與 CREATE TEMPORARY ... SELECT 一起使用 WHERE 0 子句,例如:但創(chuàng)建空表時(shí)有幾點(diǎn)要注意。在創(chuàng)建一個(gè)通過選擇數(shù)據(jù)填充的表時(shí),
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1