MYSQL資料庫常用操作命令節選

dongyu2013發表於2014-03-08
一、資料庫級別的
1、檢視當前系統上存在的資料庫
    語法:mysql> show databases;
2、建立一個資料庫
    語法:mysql> create database zhanglin;
3、切換到指定的資料庫下
    語法:mysql>USE DATABASE_NAME;
4、刪除資料庫
    語法:mysql>DROP DATABASE DATABASE_NAME;

二、表的操作
1、查詢當前資料庫中存在的表
    語法:mysql>SHOW TABLES;
2、建立表
    語法:CREATE TABLE TABLE_NAME(欄位名1 欄位型別1,欄位名1 欄位型別1,... ...);
mysql> create table zhanglin
    -> (ID int,
    -> fast_name varchar(10),
    -> last_name varchar(10));
Query OK, 0 rows affected (0.02 sec)

3、顯示錶結構
    語法: DESCRIBE table_name ;  通常情況下只需寫出 desc table_name即可。
4、修改表結構操作
  1).新增欄位
    語法: ALTER TABLE table_name ADD field_name field_type;
    例如 : mysql> ALTER TABLE ZHANGLIN ADD dept_no int;
  2).刪除欄位
    語法:  ALTER TABLE table_name DROP field_name;
    例如:mysql> alter table zhanglin drop dept_no;
  3).修改欄位名和型別
    語法:ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
  4).新增欄位約束條件
    語法:  ALTER TABLE table_name add field_name;
    例如:mysql> alter table zhanglin add dept_no; 
  4).刪除欄位約束條件
    語法:  ALTER TABLE table_name DROP field_name;
    例如:mysql> alter table zhanglin drop dept_no; 
5、清空表
    語法:DELETE FROM TABLE_NAME;
6、刪除表
    語法:DROP TABLE table_name;
7、移動表
    語法: RENAME TABLE old_db_tablename TO new_db_tablename
8、表重新命名
    語法:RENAME TABLE old_table_name TO new_table_name;
    例如:mysql> rename table zhanglin to zhanglin_new;
        當你執行 RENAME 時,你不能有任何鎖定的表或活動的事務。你同樣也必須有對原初表的 ALTER 和 DROP 許可權,以及對新表的 CREATE 和 INSERT 許可權。
如果在多表更名中,MySQL 遭遇到任何錯誤,它將對所有被更名的表進行倒退更名,將每件事物退回到最初狀態。
RENAME TABLE 在 MySQL 3.23.23 中被加入。

三、表記錄操作
1、插入記錄操作
    語法:
INSERT INTO TABLE_NAME(欄位1,欄位2,...) VALUES (值1,值2,...) ---->一般用於表的部分列
INSERT INTO TABLE_NAME VALUES (值1,值2,...)   ---> 用於表的全部列
    例如:
mysql> insert into zhanglin values(1,'lin','zhang');
Query OK, 1 row affected (0.00 sec)
mysql> insert into zhanglin values(2,'林','張');
Query OK, 1 row affected (0.00 sec)

2、查詢記錄操作
    語法:
    SELECT 欄位1,欄位2,... FROM TABLE_NAME WHERE < 表示式 >  --->一般是查詢表的部分欄位,也可全部欄位
    SELECT * FROM TABLE_NAME; ---->查詢全部欄位
    不加where 就是查詢全部的資料記錄,加where會根據where裡面的條件進行篩選。
例如:
mysql> SELECT * FROM ZHANGLIN;
 +------+-----------+-----------+
 |   ID    | fast_name  | last_name |
+------+-----------+-----------+
 |    1     |        lin       |   zhang     |
 |    2     |        林       |      張        |
+------+-----------+-----------+
2 rows in set (0.00 sec)

3、修改記錄操作
    語法;
    UPDATE TABLE_NAME SET 列名1=新值1,列名2=新值2,... WHERE
    不加where 就是修改全部的資料記錄,加where會根據where裡面的條件進行修改。
mysql> UPDATE ZHANGLIN SET ID=3;
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2  Changed: 2  Warnings: 0

mysql> SELECT * FROM ZHANGLIN;
+------+-----------+-----------+
 |    ID   | fast_name |  last_name |
+------+-----------+-----------+
 |    3    |       lin        |    zhang     |
 |    3    |       林        |       張        |
+------+-----------+-----------+
2 rows in set (0.00 sec)

4、刪除記錄操作
    語法: DELETE FROM TABLE_NAME WHERE

四、表索引操作
1、加索引
    語法:mysql> alter table 表名 add index 索引名 (欄位名1[,欄位名2 …]);
    例子: mysql> alter table ZHANGLIN add index emp_name (name);
2、加主關鍵字的索引
    語法:mysql> alter table 表名 add primary key (欄位名);
    例子: mysql> alter table ZHANGLIN add primary key(id);
3、加唯一限制條件的索引
    語法:mysql> alter table 表名 add unique 索引名 (欄位名);
    例子: mysql> alter table ZHANGLIN add unique emp_name2(cardnumber);
4、刪除某個索引
    語法:mysql> alter table 表名 drop index 索引名;
    例子: mysql>alter table ZHANGLIN drop index emp_name; 

五、常用查詢語句
1)、顯示MYSQL的版本
    語法:mysql> select version();
2)、顯示當前時間
    語法:mysql> select now(); 
3)、顯示年月日
SELECT DAYOFMONTH(CURRENT_DATE); 
SELECT MONTH(CURRENT_DATE); 
SELECT YEAR(CURRENT_DATE); 

4)、顯示字串
    語法:mysql> SELECT "Welecome to my blog!"; 
5)、串接字串
    語法:mysql> select id,concat(last_name,"",fast_name) as name from zhanglin;
+------+----------+
| id   | name     |
+------+----------+
|    1 | zhanglin |
|    2 | 張林     |
+------+----------+
2 rows in set (0.00 sec)
6)、查詢前幾行資料
    mysql> select * from zhanglin order by id limit 0,1;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29012686/viewspace-1103809/,如需轉載,請註明出處,否則將追究法律責任。

相關文章