程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL操作數據庫和表的經常使用敕令老手教程

MySQL操作數據庫和表的經常使用敕令老手教程

編輯:MySQL綜合教程

MySQL操作數據庫和表的經常使用敕令老手教程。本站提示廣大學習愛好者:(MySQL操作數據庫和表的經常使用敕令老手教程)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL操作數據庫和表的經常使用敕令老手教程正文


我是老手

進修若何治理和導航MySQL數據庫和表是要控制的重要義務之一,上面的內容將重要對MySQL的數據庫和表的一些經常使用敕令停止總結,一些我們不能不控制的敕令,一些信手拈來的敕令。

處置數據庫

1.檢查數據庫

獲得辦事器上的數據庫列表平日很有效。履行show databases;敕令便可以弄定。

mysql> show databases;

2.創立數據庫


mysql> create database db_test;
Query OK, 1 row affected (0.00 sec)

3.應用數據庫

數據庫一旦創立,便可以經由過程“應用”(use敕令)數據庫,將其指定為默許的任務數據庫。

mysql> use db_test;
Database changed

4.刪除數據庫

刪除數據庫的方法與創立的方法很類似。可以在mysql客戶端中應用drop敕令刪除數據庫,以下:

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

處置表

這裡將對若何創立、列出、檢查、刪除和修正MySQL數據庫表。

1.創立表

表經由過程create table語句來創立。創立表的進程中會應用異常多的選項和子句,在這裡完整總結一遍也是不實際的,這裡只是總結最廣泛的,今後碰到其余,再單個總結。創立表的普通用法以下:

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)

記住,表至多包括一列。別的,創立表以後老是可以再回過火來修正表的構造。不管以後能否在應用目的數據庫,都可以創立表,只需在表名後面加上目的數據庫便可。例如:

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.有前提的創立表

在默許情形下,假如試圖創立一個曾經存在的表,MySQL會發生一個毛病。為了不這個毛病,create table語句供給了一個子句,假如你願望在目的表曾經存在的情形下簡略地加入表創立,便可以應用這個子句。例如:

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)

不管能否曾經創立,都邑在前往到敕令提醒窗口時顯示“Query OK”新聞。

3.復制表

基於現有的表創立新表是一項很輕易的義務。以下代碼將獲得tb_test表的一個正本,名為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

將向數據庫增長一個雷同的表tb_test2。而有的時刻,能夠願望只基於現有表的幾個列創立一個表。經由過程create select語句中指定列便可以完成:

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.創立暫時表

有的時刻,當任務在異常年夜的表上時,能夠偶然須要運轉許多查詢取得一個年夜量數據的小的子集,不是對全部表運轉這些查詢,而是讓MySQL每次找出所需的多數記載,將記載保留到一個暫時表能夠更快一些,然後對這些暫時表停止查詢操作。可以經由過程應用temporary症結字和create table語句來完成。

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

暫時表的創立與其它表一樣,只是它們存儲在操作體系指定的暫時目次中。暫時表將在你銜接MySQL時代存在,當你斷開時,MySQL將主動刪除表並釋放一切的內存空間;固然了,你也能夠手動的應用drop table敕令刪除暫時表。

5.檢查數據庫中可用的表

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

mysql> show tables;
+-------------------+
| Tables_in_db_test |
+-------------------+
| tb_test           |
| tb_test2          |
+-------------------+
2 rows in set (0.00 sec)

6.檢查表構造

可使用describe語句檢查表構造,例如:

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敕令也能獲得雷同的成果,例如:

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語句完成的,其語法以下:

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

8.更改表構造

我們會發明,我們會常常修正和改良表構造,特殊是在開辟早期;然則,每次停止修正時不用都先刪除再從新創立表。相反,可使用alter語句修正表的構造。應用這個語句,可以再需要時刪除、修正和增長列。和create table一樣,alter table供給了許多子句、症結字和選項。這裡只是會說一些簡略的應用,好比在表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

新的列放在表的最初地位。不外,還可使用恰當的症結字(包含first、after和last)來掌握新列的地位。假如想修正表,好比,方才加的email,我想參加一個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

假如覺的這個email這列沒有存在的需要了,可使用上面的代碼刪除它,例如:

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

我不是老手

這篇文章年夜體上總結了與MySQL打交道經常用的一些敕令,願望對年夜家有贊助。看完這篇文章,你應當以為你曾經不是老手了,假如下面的敕令你都理論過一遍今後,你應當比60%的人都熟習MySQL數據庫。就是如許,越簡略的器械,越是有許多人不會。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved