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

MySQL經常使用敕令 MySQL處置數據庫和表的敕令

編輯:MySQL綜合教程

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


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

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)

2、處置表

這裡將對若何創立、列出、檢查、刪除和修正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經常使用的一些敕令,重要是進修Mysql處置數據庫和表的經常使用敕令,願望對年夜家有贊助。

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