MySQL操作數(shù)據(jù)庫和表的常用命令新手教程
來源:易賢網(wǎng) 閱讀:940 次 日期:2014-10-03 10:58:07
溫馨提示:易賢網(wǎng)小編為您整理了“MySQL操作數(shù)據(jù)庫和表的常用命令新手教程”,方便廣大網(wǎng)友查閱!

易賢網(wǎng)網(wǎng)校上線了!

>>>點(diǎn)擊進(jìn)入<<<

網(wǎng)校開發(fā)及擁有的課件范圍涉及公務(wù)員、財(cái)會(huì)類、外語類、外貿(mào)類、學(xué)歷類、

職業(yè)資格類、計(jì)算機(jī)類、建筑工程類、等9大類考試的在線網(wǎng)絡(luò)培訓(xùn)輔導(dǎo)。

學(xué)習(xí)如何管理和導(dǎo)航MySQL數(shù)據(jù)庫和表是要掌握的首要任務(wù)之一,下面的內(nèi)容將主要對(duì)MySQL的數(shù)據(jù)庫和表的一些常用命令進(jìn)行總結(jié),一些我們不得不掌握的命令,一些信手拈來的命令。

處理數(shù)據(jù)庫

1.查看數(shù)據(jù)庫

獲取服務(wù)器上的數(shù)據(jù)庫列表通常很有用。執(zhí)行show databases;命令就可以搞定。

代碼如下:

mysql> show databases;

2.創(chuàng)建數(shù)據(jù)庫

代碼如下:

mysql> create database db_test;

Query OK, 1 row affected (0.00 sec)

3.使用數(shù)據(jù)庫

數(shù)據(jù)庫一旦創(chuàng)建,就可以通過“使用”(use命令)數(shù)據(jù)庫,將其指定為默認(rèn)的工作數(shù)據(jù)庫。

代碼如下:

mysql> use db_test;

Database changed

4.刪除數(shù)據(jù)庫

刪除數(shù)據(jù)庫的方式與創(chuàng)建的方式很相似。可以在mysql客戶端中使用drop命令刪除數(shù)據(jù)庫,如下:

代碼如下:

mysql> drop database db_test;

Query OK, 0 rows affected (0.00 sec)

處理表

這里將對(duì)如何創(chuàng)建、列出、查看、刪除和修改MySQL數(shù)據(jù)庫表。

1.創(chuàng)建表

表通過create table語句來創(chuàng)建。創(chuàng)建表的過程中會(huì)使用非常多的選項(xiàng)和子句,在這里完全總結(jié)一遍也是不現(xiàn)實(shí)的,這里只是總結(jié)最普遍的,以后遇到別的,再單個(gè)總結(jié)。創(chuàng)建表的一般用法如下:

代碼如下:

mysql> create table tb_test(

-> id int unsigned not null auto_increment,

-> firstname varchar(25) not null,

-> lastname varchar(25) not null,

-> email varchar(45) not null,

-> phone varchar(10) not null,

-> primary key(id));

Query OK, 0 rows affected (0.03 sec)

記住,表至少包含一列。另外,創(chuàng)建表之后總是可以再回過頭來修改表的結(jié)構(gòu)。無論當(dāng)前是否在使用目標(biāo)數(shù)據(jù)庫,都可以創(chuàng)建表,只要在表名前面加上目標(biāo)數(shù)據(jù)庫即可。例如:

代碼如下:

mysql> create table db_test.tb_test(

-> id int unsigned not null auto_increment,

-> firstname varchar(25) not null,

-> lastname varchar(25) not null,

-> email varchar(45) not null,

-> phone varchar(10) not null,

-> primary key(id));

Query OK, 0 rows affected (0.03 sec)

2.有條件的創(chuàng)建表

在默認(rèn)情況下,如果試圖創(chuàng)建一個(gè)已經(jīng)存在的表,MySQL會(huì)產(chǎn)生一個(gè)錯(cuò)誤。為了避免這個(gè)錯(cuò)誤,create table語句提供了一個(gè)子句,如果你希望在目標(biāo)表已經(jīng)存在的情況下簡(jiǎn)單地退出表創(chuàng)建,就可以使用這個(gè)子句。例如:

代碼如下:

mysql> create table if not exists db_test.tb_test(

-> id int unsigned not null auto_increment,

-> firstname varchar(25) not null,

-> lastname varchar(25) not null,

-> email varchar(45) not null,

-> phone varchar(10) not null,

-> primary key(id));

Query OK, 0 rows affected, 1 warning (0.00 sec)

無論是否已經(jīng)創(chuàng)建,都會(huì)在返回到命令提示窗口時(shí)顯示“Query OK”消息。

3.復(fù)制表

基于現(xiàn)有的表創(chuàng)建新表是一項(xiàng)很容易的任務(wù)。以下代碼將得到tb_test表的一個(gè)副本,名為tb_test2:

代碼如下:

mysql> create table tb_test2 select * from db_test.tb_test;

Query OK, 0 rows affected (0.03 sec)

Records: 0 Duplicates: 0 Warnings: 0

將向數(shù)據(jù)庫增加一個(gè)相同的表tb_test2。而有的時(shí)候,可能希望只基于現(xiàn)有表的幾個(gè)列創(chuàng)建一個(gè)表。通過create select語句中指定列就可以實(shí)現(xiàn):

代碼如下:

mysql> describe tb_test;

+-----------+------------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+-----------+------------------+------+-----+---------+----------------+

| id | int(10) unsigned | NO | PRI | NULL | auto_increment |

| firstname | varchar(25) | NO | | NULL | |

| lastname | varchar(25) | NO | | NULL | |

| email | varchar(45) | NO | | NULL | |

| phone | varchar(10) | NO | | NULL | |

+-----------+------------------+------+-----+---------+----------------+

5 rows in set (0.01 sec)

mysql> create table tb_test2 select id, firstname, lastname, email from tb_test;

Query OK, 0 rows affected (0.03 sec)

Records: 0 Duplicates: 0 Warnings: 0

mysql> describe tb_test2;

+-----------+------------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-----------+------------------+------+-----+---------+-------+

| id | int(10) unsigned | NO | | 0 | |

| firstname | varchar(25) | NO | | NULL | |

| lastname | varchar(25) | NO | | NULL | |

| email | varchar(45) | NO | | NULL | |

+-----------+------------------+------+-----+---------+-------+

4 rows in set (0.01 sec)

4.創(chuàng)建臨時(shí)表

有的時(shí)候,當(dāng)工作在非常大的表上時(shí),可能偶爾需要運(yùn)行很多查詢獲得一個(gè)大量數(shù)據(jù)的小的子集,不是對(duì)整個(gè)表運(yùn)行這些查詢,而是讓MySQL每次找出所需的少數(shù)記錄,將記錄保存到一個(gè)臨時(shí)表可能更快一些,然后對(duì)這些臨時(shí)表進(jìn)行查詢操作??梢酝ㄟ^使用temporary關(guān)鍵字和create table語句來實(shí)現(xiàn)。

代碼如下:

mysql> create temporary table emp_temp select firstname, lastname from tb_test;

Query OK, 0 rows affected (0.02 sec)

Records: 0 Duplicates: 0 Warnings: 0

臨時(shí)表的創(chuàng)建與其它表一樣,只是它們存儲(chǔ)在操作系統(tǒng)指定的臨時(shí)目錄中。臨時(shí)表將在你連接MySQL期間存在,當(dāng)你斷開時(shí),MySQL將自動(dòng)刪除表并釋放所有的內(nèi)存空間;當(dāng)然了,你也可以手動(dòng)的使用drop table命令刪除臨時(shí)表。

5.查看數(shù)據(jù)庫中可用的表

可以使用show tables命令完成。例如:

代碼如下:

mysql> show tables;

+-------------------+

| Tables_in_db_test |

+-------------------+

| tb_test |

| tb_test2 |

+-------------------+

2 rows in set (0.00 sec)

6.查看表結(jié)構(gòu)

可以使用describe語句查看表結(jié)構(gòu),例如:

代碼如下:

mysql> describe tb_test;

+-----------+------------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+-----------+------------------+------+-----+---------+----------------+

| id | int(10) unsigned | NO | PRI | NULL | auto_increment |

| firstname | varchar(25) | NO | | NULL | |

| lastname | varchar(25) | NO | | NULL | |

| email | varchar(45) | NO | | NULL | |

| phone | varchar(10) | NO | | NULL | |

+-----------+------------------+------+-----+---------+----------------+

5 rows in set (0.00 sec)

另外,使用show命令也能得到相同的結(jié)果,例如:

代碼如下:

mysql> show columns in tb_test;

+-----------+------------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+-----------+------------------+------+-----+---------+----------------+

| id | int(10) unsigned | NO | PRI | NULL | auto_increment |

| firstname | varchar(25) | NO | | NULL | |

| lastname | varchar(25) | NO | | NULL | |

| email | varchar(45) | NO | | NULL | |

| phone | varchar(10) | NO | | NULL | |

+-----------+------------------+------+-----+---------+----------------+

5 rows in set (0.00 sec)

7.刪除表

刪除表是使用drop table語句實(shí)現(xiàn)的,其語法如下:

代碼如下:

drop [temporary] table [if exists] tbl_name [, tbl_name, ...]

8.更改表結(jié)構(gòu)

我們會(huì)發(fā)現(xiàn),我們會(huì)經(jīng)常修改和改進(jìn)表結(jié)構(gòu),特別是在開發(fā)初期;但是,每次進(jìn)行修改時(shí)不必都先刪除再重新創(chuàng)建表。相反,可以使用alter語句修改表的結(jié)構(gòu)。利用這個(gè)語句,可以再必要時(shí)刪除、修改和增加列。和create table一樣,alter table提供了很多子句、關(guān)鍵字和選項(xiàng)。這里只是會(huì)說一些簡(jiǎn)單的使用,比如在表tb_demo表中插入一列,表示email,代碼如下:

代碼如下:

mysql> alter table tb_demo add column email varchar(45);

Query OK, 0 rows affected (0.14 sec)

Records: 0 Duplicates: 0 Warnings: 0

新的列放在表的最后位置。不過,還可以使用適當(dāng)?shù)年P(guān)鍵字(包括first、after和last)來控制新列的位置。如果想修改表,比如,剛剛加的email,我想加入一個(gè)not null控制,代碼可以是這樣的:

代碼如下:

mysql> alter table tb_demo change email email varchar(45) not null;

Query OK, 0 rows affected (0.11 sec)

Records: 0 Duplicates: 0 Warnings: 0

如果覺的這個(gè)email這列沒有存在的必要了,可以使用下面的代碼刪除它,例如:

代碼如下:

mysql> alter table tb_demo drop email;

Query OK, 0 rows affected (0.09 sec)

Records: 0 Duplicates: 0 Warnings: 0

我不是新手

這篇文章大體上總結(jié)了與MySQL打交道時(shí)常用的一些命令,希望對(duì)大家有幫助??赐赀@篇文章,你應(yīng)該認(rèn)為你已經(jīng)不是新手了,如果上面的命令你都實(shí)踐過一遍以后,你應(yīng)該比60%的人都熟悉MySQL數(shù)據(jù)庫。就是這樣,越簡(jiǎn)單的東西,越是有很多人不會(huì)。

更多信息請(qǐng)查看IT技術(shù)專欄

更多信息請(qǐng)查看數(shù)據(jù)庫
易賢網(wǎng)手機(jī)網(wǎng)站地址:MySQL操作數(shù)據(jù)庫和表的常用命令新手教程
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國(guó)考·省考課程試聽報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)