MySQL之基本操作語法
阿新 • • 發佈:2018-12-09
基本SQL命令
sql命令的使用規則
- 每條命令以分號結尾
- 命令不區分大小寫
庫的管理
檢視所有的庫:
show databases;
建立資料庫(指定字符集):
create database 庫名 [character set 字符集(一般使用utf8)];
create database stuinfo character set utf8;
檢視建立庫的語句:
show create database 庫名;
檢視當前所在庫:
select database();
切換庫:
use 庫名;(這個可以不加分號,但最好寫)
檢視庫中所有的表:
show tables;
刪除資料庫:
drop database 庫名;
表的管理
建立表:
create table 表名(
欄位名 資料型別,
欄位名 資料型別,
...
)[character set 字符集];
檢視建立表的語句(包括字符集、儲存引擎)
show create table 表名;
查看錶結構
desc 表名;
刪除表
drop table 表名;
表記錄管理
插入語句
insert into 表名 values(記錄1),(記錄2)....
insert into 表名(欄位名1,欄位名2...) values(記錄1)...
eg:insert into stuinfo values(1, 'zhangsan', 28), (2, 'lisi', 25);
insert into stuinfo(id, name) values(3, 'Tom'), (4, 'Lucy');
查詢語句
select 欄位名列表 from 表名;
select 欄位名列表 from 表名 where 條件;
eg:select name from stuinfo;
select id from stuinfo where name='lisi';
欄位的資料型別
數值型別:整型、浮點型
- 整型
- int 大整形(佔4個位元組)取值範圍:0~(2^32-1)
- tinyint 微小整型(佔1個位元組)
- 有符號:signed為預設,取值範圍:-128~127
- 無符號:unsigned,取值範圍:0~255
- 浮點型
- float:佔4個位元組,最多顯示7位
- float(m,n) 其中m表示總位數,n表示保留的小數位數
- double:佔8個位元組,不常用
- decimal:詳見緊挨著的註釋 註釋:decimal(m, n)比較常用 它的儲存比較特殊,整數和小數部分分開儲存 儲存規則:將9的倍數包裝成4個位元組,餘數詳見如下表
- float:佔4個位元組,最多顯示7位
餘數 | 位元組 |
---|---|
0 | 0 |
1-2 | 1 |
3-4 | 2 |
5-6 | 3 |
7-8 | 4 |
舉個栗子: decimal(19, 9) 分析: 整數部分:10 / 9 = 1餘1—-> 4位元組+1位元組=5位元組 小數部分:9 / 9 = 1 餘0—–>4位元組+0位元組=4位元組 所以共佔9個位元組
**字元型別:**char、varchar、text / longtext
- char:定長(固定長度),範圍:1~255
- varchar:變長(不固定),範圍:1~65535
- text / longtext:存放文字,可存放4G char和varchar的特點: char:浪費儲存空間,效能高 varchar:節省儲存空間,效能低
字元型別的寬度和數值型別的寬度的區別:
- 數值型別寬度為顯示寬度,只用於select查詢時顯示,和佔用儲存空間無關,可用zerofill檢視效果
- 字元型別的寬度超過後無法儲存
列舉型別:單選、複選
- enum:單選
- 如:sex enum(‘男’,‘女’)
- set:複選
- 如:hobby set(‘籃球’,‘足球’,‘乒乓球’)
單選在插入記錄時只能選擇其中的一個,並且只能插入enum裡的內容,否則會報錯,如:
insert into stuinfo(sex) values('男') --正確
insert into stuinfo(sex) values('man') --錯誤
複選在插入記錄時可選擇一個或多個,但只能選擇set有的內容,否則會報錯,多個使用逗號隔開,並且都在一個引號內,如
insert into stuinfo(hobby) values("籃球,足球") --正確
insert into stuinfo(hobby) values("籃球","足球") --錯誤
insert into stuinfo(hobby) values("籃球,足球,羽毛球") --錯誤