1-03:基本的MySQL命令

liangnianbing發表於2018-12-30

mysql基本的語句

> mysql -u 使用者名稱 -p  //命令列連線Mysql;

> show databases;   //顯示當前所有的資料庫名;

> show tables;     //顯示當前資料庫中的所有表名;

> use 資料庫名;   //選擇一個資料庫;
複製程式碼

選擇語句

> select [欄位名稱] from [表名] [還有一些可選引數] [例如:limit,限制查詢返回的行數];
> 如果欄位名是\*符號,意思是查詢表中的所有列;
複製程式碼

可選引數

> 根據條件選擇的行
> select name from 學生表 where 列名 = 'zhangsan';
> 這句程式碼的意思就是:查詢學生表中name欄位為zhangsan的所有資料,選擇的是name列,name列有很多叫各種名字的學生,那麼每一行代表一個學生,目的是返回當前name列中重名的學生有多少個,where就是條件,符合條件的則返回,返回name='zhangsan'的所有行,就是這意思;
> 條件引數可以使用比較運算子:
   =      >       <       !=/<>     >=         <=
> 等於   大於    小於     不等於    大於等於    小於等於

> select name from 學生表 where 列名 != '張三';
> 返回name不等於張三的所有學生名的行;
複製程式碼

建立庫:

> create database myDB;  //這條語句就是建立了一個名為myDB的資料庫;
> drop database myDB;    //這條語句就是刪除了一個名為myDB的資料庫;
複製程式碼

建立表:

> use myDB;   //要先選擇一個資料庫;
> create table user(id int,user_name varchar(40),password varchar(60));   //建立一個名為user的表,其中有三個欄位:id,user_name,password;
複製程式碼

修改表名:

> rename table 原來的表名 to 新表名
複製程式碼

刪除表:

> drop tables 表名;   //刪除資料庫中的一個表
複製程式碼

刪除檢視:

> drop view 檢視名;
複製程式碼

檢視錶結構:

> desc 表名;  //檢視當前表中的所有欄位
複製程式碼

修改表中的欄位:

> alter table 表名 change column 欄位 修改後的欄位 int(10);  //修改一個欄位
複製程式碼

刪除表中的欄位:

> alter table user drop user_id;
複製程式碼

在表中插入一個欄位:

> alter table user add user_id int(32); 
> 這個語句的後面有兩個引數:first和after;
> first:插入在前面
> after:插入在後面
複製程式碼

修改表的名字:

> alter table user rename user_table; 
複製程式碼

修改表中欄位的值:

> alter table user modify 欄位名 修改後的值;  //這裡改的不是欄位儲存的值,而是欄位的型別,長度等值;
複製程式碼

檢視當前選擇的資料庫:

> select database();
複製程式碼

顯示Mysql的版本:

> select version();
複製程式碼

顯示當前時間:

> select new();
複製程式碼

列的增刪改

alter table 表名 add 列名 列型別 列屬性...; //預設是在表的最後

alert table 表名 add 列名 列型別 列屬性... after 列名;//新增一列到指定列的後面

alter table 表名 drop column 列名; //刪除一個列



alter table 表名 change 列名 新列名 列型別 列屬性...
alter table 表名 modify 列名 列型別 列屬性...

change 和 modify 都是用來修改列的,change要求每次修改列都必須提供新列名,而modify則不需要;
複製程式碼

檢視建表過程

> show create table 表名;
複製程式碼

檢視建檢視過程

> show create view 檢視名;
複製程式碼

檢視當前庫下的所有表的詳細資訊

> show table status;

- 可選引數\G

> show table status;

- 加上\G改變顯示的方式,豎著顯示;

- 可以使用where條件等;
複製程式碼
  • 示例:
	show table status where name='users' \G;

	 /*Name: users
         Engine: MyISAM
        Version: 10
     Row_format: Dynamic
           Rows: 3
 Avg_row_length: 48
    Data_length: 144
Max_data_length: 281474976710655
   Index_length: 1024
      Data_free: 0
 Auto_increment: NULL
    Create_time: 2018-08-09 17:38:38
    Update_time: 2018-08-09 17:42:49
     Check_time: NULL
      Collation: utf8mb4_unicode_ci
       Checksum: NULL
 Create_options:
        Comment:*/
複製程式碼

快速清空一張表

> delete from 表名;   //刪除資料,直接將當前表資料清空

> truncate from 表名;    //刪除表,瞬間重建
複製程式碼
  • 區別就在於,delete清空表之後,就跟人死了,雖然死了,但是你曾經來過這個世界,所以你在這個世界佔著一個位置,雖然你已經不在了;
  • 而truncate則是直接將這個地球毀滅,瞬間在弄一個地球,而這個新的地球,你從來都沒有來過,你也從未佔著一個位置;
  • delete 和truncate 相比,truncate的速度要更快;

相關文章