上面兩篇博客講了MySQL的安裝、登錄,密碼重置,為接下來的MySQL命令學習做好了準備,現在開啟MySQL命令學習之旅吧。
首先打開CMD,輸入命令:mysql -u root -p? 登錄MySQL。
注意:MySQL命令終止符為分號 (;)?
1.show databases;顯示當前用戶的數據庫
2.use 數據庫名;? ?選擇數據庫
3.create database 數據庫名; 創建數據庫
4. drop database? 數據庫名 ;刪除數據庫?
5.create table if not exists `表名`()engine= InnoDB default charset=utf8;創建數據表?
例:
create table if not exists `test_user`(
`test_id` int unsigned auto_increment,
`test_title` varchar(100) not null,
?`test_name` varchar(100) not null,
`test_createDate` date, primary key (`test_id`)
)engine= InnoDB default charset=utf8;
6. drop??table 表名;?刪除數據表?
7.show tables; 顯示當前數據庫的表
8.insert? into?table_name?(?字段1,字段2,...字段N?)?values???(?value1,?value2,...valueN?);為表插入數據
9. where是查詢條件語句與select,update,delete一起用的
10.select 查詢命令,select 讀取一條或者多條記錄
? 10.1? select?*?from?表名;? ?查看表里的所有數據 ,顯示所有字段??
? 10.2? select?column_name,column_name?from?表名?where?條件?limit?n?offset?m ;查詢滿足條件的數據,只顯示字段column_name,column_name
- 查詢語句中可以使用一個或者多個表,表之間使用逗號(,)分割
- 用星號(*)來代替其他字段,select語句會返回表的所有字段數據
- 使用 where語句寫查詢條件。
- 使用limit 屬性來設定返回的記錄數。
- offset指定select語句查詢數據的偏移量。默認偏移量為0。
例1:
select test_title from test_user where test_id>2 limit 3 offset 3;
查詢結果只顯示了字段:test_title
test_id>2的記錄有3,4,5,6,7,8,9,10,11,然后offset為3,所以查詢結果偏移3后,最后的數據為:6,7,8
例2:
select test_title from test_user where test_id>7 limit 3 offset 3;
查詢結果只顯示了字段:test_title
test_id>7的記錄有8,9,10,11,然后offset為3,所以查詢結果偏移3后,最后的數據為:11
11.update 表名 set field1=new-value1, field2=new-value2 where 條件; 更新滿足條件的記錄
? ? 例:update test_user set test_createDate="2018-11-02" where test_id<5;
12.delete from 表名 where 條件; 刪除表里滿足條件的記錄?
?
?? ?例:delete from test_user where id>6 && id<8; 刪除第7條數據
13.like,like與where聯合使用,表示包含的情況,其中like語句的%表示任意字符,如果like語句中沒有用%,那么它就與等號沒有差別
like "%my":表示以my結尾
like "%my%":表示中間或開始有my
like "my%":表示以my開始
like "my" :表示等于my
14.order by 字段??ASC |DESC ;這個命令一般跟select聯合使用, 根據什么字段排序,默認情況下是升序
? ? ? ? asc:升序
? ? ? ? desc:降序? ??
? ? ? ? 按拼音來排序:
? ? ? 14.1 如果字符集采用的是 gbk(漢字編碼字符集),直接在查詢語句后邊添加 order by:
? ? ? ? ? ? ?select * from 表名 order by 字段??ASC ;
? ? ? 14.2 如果字符集采用的是 utf8(萬國碼),需要先對字段進行轉碼然后排序:
select * from 表名 order by convert(runoob_title using gbk);?
15.?show columns from?表名;?查看表的字段定義格式
?例:show columns from test_user;
16.alter?
? ? 16.1 alter table?表名?add?新字段?數據類型;為數據表添加新的字段(為已經建好的表增加一列)
? ? ??? ?例:
? ? ? ? ? ? ??alter table?test_user?add?score int; 為表test_user,添加類型為int的新字段score;
? ? ? ? ?? ? ?alter table?test_user?add?score int first;為表test_user,添加類型為int的新字段score,并且放在第一位
? ? ? ? ? ? ?alter table?test_user?add?score int? after? name;? ? ??添加類型為int的新字段score,并且放在字段name的后面
?
? ?16.2 alter table?表名?drop?字段;刪除數據表的字段(為已經建好的表刪除一列)
? 例:alter table test_user drop score;
? 16.3 alter table?表名?modify?字段??新類型;修改已有字段的類型
? ? ?例:alter table?test_user?modify?test_title??varchar(200) not null default? "hello";
? ? ? ? ? ? 修改表test_user的字段test_title?的類型為varchar(200) ,并且不能為null,默認值為hello
? 16.4?alter table?表名?change 舊字段??新字段 新字段數據類型;更改舊字段的名稱及類型
例:alter table test_user change score middle_score int;
? 16.5?alter table 表名 engine=myisam;修改存儲引擎為myisam
? 16.6?alter table 表名 drop foreign key 鍵名;刪除外鍵約束
? 16.7?alter table 表名 modify 字段1? 數據類型 first|after 字段2;
? ? ?修改字段的相對位置,字段1為想要修改的字段,類型為該字段原來類型,first和after二選一,first放在第一位,after放在字段2后面
? 16.8?alter table?表名?alter?字段?set default? 值;為數據表字段設置默認值;
例:alter table test_user alter score set default 0;表test_user的score字段 設置默認值0;
? 16.9?alter table?表名?rename to 新的表名;更改數據表的名字
?
? 1. show databases; 顯示當前用戶的數據庫
2.? use 數據庫名;? ?選擇數據庫
3. create database 數據庫名; 創建數據庫
?
4. drop database 數據庫名 ;刪除數據庫
?5.create table if not exists `test_user`()engine= InnoDB default charset=utf8;創建數據表
create table if not exists `test_user`(
`test_id` int unsigned auto_increment,
`test_title` varchar(100) not null,
?`test_name` varchar(100) not null,
`test_createDate` date, primary key (`test_id`)
)engine= InnoDB default charset=utf8;
6. drop??table 表名;?刪除數據表
7.show tables; 顯示當前數據庫的表
8.insert? into?table_name ( field1, field2,...fieldN )?values???( value1, value2,...valueN );為表插入數據
?
9. where是查詢條件語句與select,update,delete一起用的
10.select 查詢命令,select 讀取一條或者多條記錄
? ?select?*?from?表名;? ?查看表里的所有數據 ,顯示所有字段??
?select column_name,column_name from 表名 where 條件 limit n offset m ;查詢滿足條件的數據,只顯示字段column_name,column_name
- 查詢語句中可以使用一個或者多個表,表之間使用逗號(,)分割
- 用星號(*)來代替其他字段,select語句會返回表的所有字段數據
- 使用 where語句寫查詢條件。
- 使用limit 屬性來設定返回的記錄數。
- offset指定select語句查詢數據的偏移量。默認偏移量為0。
select test_title from test_user where test_id>2 limit 3 offset 3;
查詢結果只顯示了字段:test_title
test_id>2的記錄有3,4,5,6,7,8,9,10,11,然后offset為3,所以查詢結果偏移3后,最后的數據為:6,7,8
select test_title from test_user where test_id>7 limit 3 offset 3;
查詢結果只顯示了字段:test_title
test_id>7的記錄有8,9,10,11,然后offset為3,所以查詢結果偏移3后,最后的數據為:11
11.update 表名 set field1=new-value1, field2=new-value2 where 條件; 更新滿足條件的記錄
?update test_user set test_createDate="2018-11-02" where test_id<5;
12.delete from 表名 where 條件; 刪除表里滿足條件的記錄?
?
delete from test_user where id>6 && id<8; 刪除第7條數據
?
13.like,like與where聯合使用,表示包含的情況,其中like語句的%表示任意字符,如果like語句中沒有用%,那么它就與等號沒有差別
like "%my":表示以my結尾
like "%my%":表示中間或開始有my
like "my%":表示以my開始
like "my" :表示等于my
查詢結果如下:
?14.order by 字段??ASC |DESC ;這個命令一般跟select聯合使用, 根據什么字段排序,默認情況下是升序
? ? ? ? asc:升序
? ? ? ? desc:降序? ??
? ? ? ? 按拼音來排序:
? ? ? 14.1 如果字符集采用的是 gbk(漢字編碼字符集),直接在查詢語句后邊添加 order by:
? ? ? ? ? ? ?select * from 表名 order by 字段??ASC ;
? ? ? 14.2 如果字符集采用的是 utf8(萬國碼),需要先對字段進行轉碼然后排序:
select * from 表名 order by convert(runoob_title using gbk);?
? ? ? ? ? ?
?
15. alter table 表名 add 新字段 數據類型;為數據表添加新的字段(為已經建好的表增加一列)
? ? ? ???alter table test_user add score int;
?
16.alter table?表名 drop 字段;刪除數據表的字段(為已經建好的表刪除一列)
?alter table test_user drop score;
?
?
17. alter table 表名 modify 字段? 新類型;修改已有字段的類型
?alter table test_user modify test_title? varchar(200);
?
18.?show columns from 表名; 查看表的字段定義格式
?show columns from test_user;
?
?
?