最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL常用命令 MySQL處理數(shù)據(jù)庫(kù)和表的命令

 更新時(shí)間:2015年11月09日 13:53:20   投稿:lijiao  
這篇文章主要介紹了MySQL常用命令,尤其是針對(duì)MySQL處理數(shù)據(jù)庫(kù)和表的命令進(jìn)行學(xué)習(xí),特別適用于新手,感興趣的小伙伴們可以參考一下

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

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

2、創(chuàng)建數(shù)據(jù)庫(kù)
mysql> create database db_test;
Query OK, 1 row affected (0.00 sec)

3、使用數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)一旦創(chuàng)建,就可以通過(guò)“使用”(use命令)數(shù)據(jù)庫(kù),將其指定為默認(rèn)的工作數(shù)據(jù)庫(kù)。
mysql> use db_test;
Database changed

4、刪除數(shù)據(jù)庫(kù)
刪除數(shù)據(jù)庫(kù)的方式與創(chuàng)建的方式很相似。可以在mysql客戶端中使用drop命令刪除數(shù)據(jù)庫(kù),如下:
mysql> drop database db_test;
Query OK, 0 rows affected (0.00 sec)

二、處理表

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

1、創(chuàng)建表
表通過(guò)create table語(yǔ)句來(lái)創(chuàng)建。創(chuàng)建表的過(guò)程中會(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)建表之后總是可以再回過(guò)頭來(lái)修改表的結(jié)構(gòu)。無(wú)論當(dāng)前是否在使用目標(biāo)數(shù)據(jù)庫(kù),都可以創(chuàng)建表,只要在表名前面加上目標(biāo)數(shù)據(jù)庫(kù)即可。例如:

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語(yǔ)句提供了一個(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)

無(wú)論是否已經(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ù)庫(kù)增加一個(gè)相同的表tb_test2。而有的時(shí)候,可能希望只基于現(xiàn)有表的幾個(gè)列創(chuàng)建一個(gè)表。通過(guò)create select語(yǔ)句中指定列就可以實(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)行查詢操作。可以通過(guò)使用temporary關(guān)鍵字和create table語(yǔ)句來(lái)實(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)你斷開(kāi)時(shí),MySQL將自動(dòng)刪除表并釋放所有的內(nèi)存空間;當(dāng)然了,你也可以手動(dòng)的使用drop table命令刪除臨時(shí)表。

5、查看數(shù)據(jù)庫(kù)中可用的表
可以使用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語(yǔ)句查看表結(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語(yǔ)句實(shí)現(xiàn)的,其語(yǔ)法如下:

復(fù)制代碼 代碼如下:
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),特別是在開(kāi)發(fā)初期;但是,每次進(jìn)行修改時(shí)不必都先刪除再重新創(chuàng)建表。相反,可以使用alter語(yǔ)句修改表的結(jié)構(gòu)。利用這個(gè)語(yǔ)句,可以再必要時(shí)刪除、修改和增加列。和create table一樣,alter table提供了很多子句、關(guān)鍵字和選項(xiàng)。這里只是會(huì)說(shuō)一些簡(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

新的列放在表的最后位置。不過(guò),還可以使用適當(dāng)?shù)年P(guān)鍵字(包括first、after和last)來(lái)控制新列的位置。如果想修改表,比如,剛剛加的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

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

mysql> alter table tb_demo drop email;
Query OK, 0 rows affected (0.09 sec)
Records: 0 Duplicates: 0 Warnings: 0

這篇文章大體上總結(jié)了與MySQL常用的一些命令,主要是學(xué)習(xí)Mysql處理數(shù)據(jù)庫(kù)和表的常用命令,希望對(duì)大家有幫助。

相關(guān)文章

  • 為什么mysql自增主鍵不是連續(xù)的

    為什么mysql自增主鍵不是連續(xù)的

    在面試中被提問(wèn),mysql 中的 user 表的 id 默認(rèn)是自增的,但是數(shù)據(jù)庫(kù)存儲(chǔ)的結(jié)果卻不是連續(xù)的,你知道是什么原因嗎,本文就詳細(xì)的介紹一下,感興趣的可以了解一下
    2021-09-09
  • MySQL分頁(yè)技術(shù)、6種分頁(yè)方法總結(jié)

    MySQL分頁(yè)技術(shù)、6種分頁(yè)方法總結(jié)

    這篇文章主要介紹了MySQL分頁(yè)技術(shù)、6種分頁(yè)方法總結(jié),本文總結(jié)了6種分頁(yè)的方法并分別一一講解它們的特點(diǎn),需要的朋友可以參考下
    2015-07-07
  • Mysql 建庫(kù)建表技巧分享

    Mysql 建庫(kù)建表技巧分享

    本文中說(shuō)到的“建”,并非單純的建一個(gè)庫(kù),或是建一張表,而是你建好的庫(kù)和表在項(xiàng)目的運(yùn)營(yíng)中,是否能應(yīng)付各種事件,下面我說(shuō)說(shuō)幾個(gè)我在項(xiàng)目中遇到的問(wèn)題以及處理的方法,算是一個(gè)小小的心得,給大家分享下。
    2011-07-07
  • SQL創(chuàng)建視圖的注意事項(xiàng)及說(shuō)明

    SQL創(chuàng)建視圖的注意事項(xiàng)及說(shuō)明

    這篇文章主要介紹了SQL創(chuàng)建視圖的注意事項(xiàng)及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • mysql之動(dòng)態(tài)增添字段實(shí)現(xiàn)方式

    mysql之動(dòng)態(tài)增添字段實(shí)現(xiàn)方式

    這篇文章主要介紹了mysql之動(dòng)態(tài)增添字段實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • mysql查看索引的方式

    mysql查看索引的方式

    這篇文章主要介紹了mysql查看索引的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • MySQL數(shù)據(jù)庫(kù)InnoDB數(shù)據(jù)恢復(fù)工具的使用小結(jié)詳解

    MySQL數(shù)據(jù)庫(kù)InnoDB數(shù)據(jù)恢復(fù)工具的使用小結(jié)詳解

    本篇文章是對(duì)MySQL數(shù)據(jù)庫(kù)InnoDB數(shù)據(jù)恢復(fù)工具的使用進(jìn)行了詳細(xì)的總結(jié)與分析,需要的朋友參考下
    2013-06-06
  • Mysql排序獲取排名的實(shí)例代碼

    Mysql排序獲取排名的實(shí)例代碼

    這篇文章通過(guò)實(shí)例代碼給大家介紹了mysql排序獲取排名的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2018-05-05
  • mysql 5.7.20\5.7.21 免安裝版安裝配置教程

    mysql 5.7.20\5.7.21 免安裝版安裝配置教程

    這篇文章主要為大家詳細(xì)介紹了mysql5.7.20和mysql5.7.21免安裝版安裝配置教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • 在Qt中操作MySQL數(shù)據(jù)庫(kù)的實(shí)戰(zhàn)指南

    在Qt中操作MySQL數(shù)據(jù)庫(kù)的實(shí)戰(zhàn)指南

    QT連接Mysql數(shù)據(jù)庫(kù)的步驟相對(duì)繁瑣,但是也是一個(gè)不錯(cuò)的學(xué)習(xí)經(jīng)歷,下面這篇文章主要給大家介紹了關(guān)于在Qt中操作MySQL數(shù)據(jù)庫(kù)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04

最新評(píng)論

余干县| 建昌县| 乌拉特前旗| 周口市| 通河县| 鹤壁市| 吴川市| 榆中县| 民丰县| 朔州市| 凉山| 凌源市| 鸡东县| 永济市| 乐亭县| 彝良县| 棋牌| 库车县| 久治县| 昭通市| 马尔康县| 遂平县| 聊城市| 太湖县| 吐鲁番市| 澄江县| 铜梁县| 南京市| 清原| 黔西县| 全椒县| 贡觉县| 宁化县| 土默特右旗| 潞西市| 登封市| 淮安市| 革吉县| 安远县| 乳源| 石家庄市|