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

MySQL操作數(shù)據(jù)庫和表的常用命令新手教程

 更新時間:2014年09月29日 09:09:40   作者:果凍想  
這篇文章主要介紹了MySQL操作數(shù)據(jù)庫和表的常用命令新手教程,本文總結(jié)的命令都是控制mysql必須掌握的、常用的命令,需要的朋友可以參考下

我是新手

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

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

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

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

復(fù)制代碼 代碼如下:

mysql> show databases;

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

復(fù)制代碼 代碼如下:

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ù)庫。

復(fù)制代碼 代碼如下:

mysql> use db_test;
Database changed

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

刪除數(shù)據(jù)庫的方式與創(chuàng)建的方式很相似??梢栽趍ysql客戶端中使用drop命令刪除數(shù)據(jù)庫,如下:

復(fù)制代碼 代碼如下:

mysql> drop database db_test;
Query OK, 0 rows affected (0.00 sec)

處理表

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

1.創(chuàng)建表

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

復(fù)制代碼 代碼如下:

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ù)庫即可。例如:

復(fù)制代碼 代碼如下:

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)建一個已經(jīng)存在的表,MySQL會產(chǎn)生一個錯誤。為了避免這個錯誤,create table語句提供了一個子句,如果你希望在目標(biāo)表已經(jīng)存在的情況下簡單地退出表創(chuàng)建,就可以使用這個子句。例如:

復(fù)制代碼 代碼如下:

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)建,都會在返回到命令提示窗口時顯示“Query OK”消息。

3.復(fù)制表

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

復(fù)制代碼 代碼如下:

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ù)庫增加一個相同的表tb_test2。而有的時候,可能希望只基于現(xiàn)有表的幾個列創(chuàng)建一個表。通過create select語句中指定列就可以實(shí)現(xiàn):

復(fù)制代碼 代碼如下:

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)建臨時表

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

復(fù)制代碼 代碼如下:

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

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

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

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

復(fù)制代碼 代碼如下:

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),例如:

復(fù)制代碼 代碼如下:

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é)果,例如:

復(fù)制代碼 代碼如下:

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)的,其語法如下:

復(fù)制代碼 代碼如下:

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

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

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

復(fù)制代碼 代碼如下:

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,我想加入一個not null控制,代碼可以是這樣的:

復(fù)制代碼 代碼如下:

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

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

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

我不是新手

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

相關(guān)文章

  • mysql刪除重復(fù)記錄語句的方法

    mysql刪除重復(fù)記錄語句的方法

    查詢及刪除重復(fù)記錄的SQL語句,雖然有點(diǎn)亂,但內(nèi)容還是不錯的。
    2010-06-06
  • mysql使用from與join兩表查詢的區(qū)別總結(jié)

    mysql使用from與join兩表查詢的區(qū)別總結(jié)

    這篇文章主要給大家介紹了關(guān)于mysql使用from與join兩表查詢的區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • Mysql通過Adjacency List(鄰接表)存儲樹形結(jié)構(gòu)

    Mysql通過Adjacency List(鄰接表)存儲樹形結(jié)構(gòu)

    本片介紹MYSQL存儲樹形結(jié)構(gòu)的一種方法,通過Adjacency List來實(shí)現(xiàn),一起來學(xué)習(xí)下。
    2017-12-12
  • 解決mysql錯誤:Subquery?returns?more?than?1?row問題

    解決mysql錯誤:Subquery?returns?more?than?1?row問題

    這篇文章主要介紹了解決mysql錯誤:Subquery?returns?more?than?1?row問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • MySQL備份時排除指定數(shù)據(jù)庫的方法

    MySQL備份時排除指定數(shù)據(jù)庫的方法

    這篇文章主要介紹了MySQL備份時排除指定數(shù)據(jù)庫的方法的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • Mysql排序獲取排名的實(shí)例代碼

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

    這篇文章通過實(shí)例代碼給大家介紹了mysql排序獲取排名的相關(guān)知識,感興趣的朋友一起看看吧
    2018-05-05
  • Mysql中Row size too large (> 8126) 錯誤的問題解決

    Mysql中Row size too large (> 8126)&n

    本文主要介紹了Mysql中Row size too large (> 8126) 錯誤的問題解決,原因?qū)嵅迦氲男袛?shù)據(jù)可能太大了,超過了設(shè)定的闕值,下面就來看一下如何解決
    2024-07-07
  • MyEclipse連接MySQL數(shù)據(jù)庫報錯解決辦法

    MyEclipse連接MySQL數(shù)據(jù)庫報錯解決辦法

    我們現(xiàn)在一般網(wǎng)站都是利用的MySQL數(shù)據(jù)庫搭建網(wǎng)站的,但是在網(wǎng)上看到很多網(wǎng)友吐槽數(shù)據(jù)庫連接不上的問題,現(xiàn)在我就結(jié)合相關(guān)資料向提出一些我個人的見解,希望對大家解決問題有幫助
    2014-01-01
  • mysql like 特殊字符搜索的實(shí)現(xiàn)

    mysql like 特殊字符搜索的實(shí)現(xiàn)

    在MySQL中,LIKE操作符用于在查詢數(shù)據(jù)時進(jìn)行模糊匹配,本文主要介紹了mysql like 特殊字符搜索的實(shí)現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • MySQL如何導(dǎo)入SQL數(shù)據(jù)庫的實(shí)戰(zhàn)舉例

    MySQL如何導(dǎo)入SQL數(shù)據(jù)庫的實(shí)戰(zhàn)舉例

    在使用mysql數(shù)據(jù)庫是,經(jīng)常需要備份或者恢復(fù)數(shù)據(jù)庫數(shù)據(jù),最便捷的方式就是通過導(dǎo)出sql文件備份和直接執(zhí)行sql文件恢復(fù),下面這篇文章主要給大家介紹了關(guān)于MySQL如何導(dǎo)入SQL數(shù)據(jù)庫的相關(guān)資料,需要的朋友可以參考下
    2023-05-05

最新評論

新龙县| 榆树市| 自贡市| 东乡族自治县| 新晃| 喜德县| 衡山县| 寿光市| 格尔木市| 沂南县| 前郭尔| 苏尼特右旗| 临桂县| 抚顺市| 林甸县| 伊春市| 阿鲁科尔沁旗| 崇仁县| 龙山县| 龙里县| 博湖县| 廊坊市| 阿鲁科尔沁旗| 旺苍县| 汉寿县| 泰顺县| 临汾市| 绥中县| 锦州市| 江达县| 白朗县| 浦城县| 四子王旗| 淳安县| 广西| 汕头市| 红安县| 鲁山县| 靖江市| 黔西县| 寿宁县|