柚子快報激活碼778899分享:數(shù)據(jù)庫 【MYSQL】表操作
柚子快報激活碼778899分享:數(shù)據(jù)庫 【MYSQL】表操作
目錄
查看當(dāng)前數(shù)據(jù)庫含有表查看表結(jié)構(gòu)創(chuàng)建表插入(新增create)全列插入:指定列插入插入查詢結(jié)果
查詢(retrieve)全列查詢指定列查詢查詢列是表達(dá)式別名查詢(as)去重查詢(distinct)排序查詢(order by)條件查詢(where)比較/邏輯運算符使用
分頁查詢(limit)
一條語句各查詢間的使用順序修改(update)刪除(delect)
在對數(shù)據(jù)庫中的表進(jìn)行操作前都需要先使用該數(shù)據(jù)庫:
use 數(shù)據(jù)庫名;
查看當(dāng)前數(shù)據(jù)庫含有表
show tables;
該語句可以將當(dāng)前數(shù)據(jù)庫含有的所有表的表名顯示出來。
查看表結(jié)構(gòu)
desc 表名;
可以查看該表中的字段以及其類型。
創(chuàng)建表
語法:
create table 表名(
字段1名 數(shù)據(jù)類型1,
字段2名 數(shù)據(jù)類型2,
字段3名 數(shù)據(jù)類型3,
);
創(chuàng)建商品goods(商品編號goods_id,商品名goods_name, 單價unitprice, 商品類別category, 供應(yīng)商provider):
插入(新增create)
insert into 表名 (列名) values (對應(yīng)數(shù)據(jù));
全列插入:
數(shù)量必須和定義表的列的數(shù)量及順序一致, 前面可以省略列名, 插入多行數(shù)據(jù)時每行數(shù)據(jù)都要用括號括起來,括號之間使用逗號隔開。
insert into goods values (1,'面包',15.5,'食物','大潤發(fā)');#插入單行數(shù)據(jù)
insert into goods values (2,'黃瓜',5.5,'蔬菜','大潤發(fā)'),
(3,'白菜',1.5,'蔬菜','大潤發(fā)');#插入多行數(shù)據(jù)
指定列插入
數(shù)量必須和指定列數(shù)量及順序一致。 未指定的列默認(rèn)插入null。
insert into goods (goods_id, goods_name,unitprice) values (3,'衣服',155);
insert into goods (goods_id, goods_name,unitprice) values (4,'褲子',105),(5,'鞋子',200);
插入查詢結(jié)果
insert into 待插入表名 列名1,列名2 查詢語句;
查詢結(jié)果與列要對應(yīng)(數(shù)量,類型一一對應(yīng))。
查詢(retrieve)
全列查詢
危險操作。
select * from 表名;
將表中所有數(shù)據(jù)都查詢出來。
指定列查詢
select 列名1,列名2 from 表名;
將表中的被查詢的列數(shù)據(jù)顯示出來。
查詢列是表達(dá)式
select 表達(dá)式1,表達(dá)式2 from 表名;
表達(dá)式可以是對列的操作,也可以是隨便的表達(dá)式,都是一個表達(dá)式在結(jié)果集中拿出一列,列頭表達(dá)式,列中表達(dá)式的結(jié)果。
對列的操作不會影響表中的真實數(shù)據(jù),只會讓該操作顯示的結(jié)果集是表達(dá)式的結(jié)果。
別名查詢(as)
select 字段1/表達(dá)式1 as 別名1,表達(dá)式2/字段2 as 別名2 from 表名;
別名要緊跟著被取別名的列,as可以省略,但是建議一般不省略,別名中包含空格就一定要使用單引號引起來,建議都拿單引號引起來。
去重查詢(distinct)
select distinct 字段1/表達(dá)式1 from 表名;
使用distinct去重時,distinct必須放在字段前面,并且distinct后面的所有字段全部都有相同才可以去重。
排序查詢(order by)
select 字段1/表達(dá)式1,字段2/表達(dá)式2 as 別名 from 表名 order by 字段1/表達(dá)式1/別名1 desc/asc, 字段1/表達(dá)式1/別名1 desc/asc;
desc 表示降序排列,asc 表示升序排列,可以使用別名進(jìn)行排序,order by 字段后沒有寫排序規(guī)則默認(rèn)是asc在比較時NULL是最小值,多個排序規(guī)則時,優(yōu)先級按照書寫順序。
條件查詢(where)
select 字段1/表達(dá)式1,字段2/表達(dá)式2 as 別名 from 表名 where 列名/表達(dá)式 比較/邏輯運算符 條件;
比較/邏輯運算符
比較運算符:
運算符說明>, >=, <, <=大于,大于等于,小于,小于等于=等于,NULL 不安全,例如 NULL = NULL 的結(jié)果是 NULL<=>等于,NULL 安全,例如 NULL <=> NULL 的結(jié)果是 TRUE(1)!=, <>不等于between a0 and a1范圍匹配,[a0, a1],如果 a0 <= value <= a1,返回 TRUE(1)in(option1,option2,option3 …)如果是 option 中的任意一個,返回 TRUE(1)is null是 NULL結(jié)果是 TRUE(1)is not null不是 NULL結(jié)果是 TRUE(1)like模糊匹配。% 表示任意多個(包括 0 個)任意字符;_ 表示任意一個字符
注意事項:
between and是左閉右閉區(qū)間,不是Java中的左閉右開。like 中的%是通配符可以匹配0個及以上個字符,而一個_只能代表一個字符。
邏輯運算符:
運算符說明and多個條件必須都為 TRUE(1),結(jié)果才是 TRUE(1),與Java中&&一樣or任意一個條件為 TRUE(1), 結(jié)果為 TRUE(1),與Java中邏輯或一樣not條件為 TRUE(1),結(jié)果為 FALSE(0),與Java中! 一樣
使用
where中不能使用別名,因為一個SQL查詢語句的執(zhí)行順序是from->where->select->order by。
分頁查詢(limit)
select 字段1/表達(dá)式1,字段2/表達(dá)式2 from 表名 limit n;#從結(jié)果集第0行數(shù)據(jù),拿n行數(shù)據(jù)
select 字段1/表達(dá)式1,字段2/表達(dá)式2 from 表名 limit m, n;#從結(jié)果集第m行數(shù)據(jù),拿n行數(shù)據(jù)
select 字段1/表達(dá)式1,字段2/表達(dá)式2 from 表名 limit m offset n;#從結(jié)果集第n行數(shù)據(jù),拿m行數(shù)據(jù)
注意事項: 使用offset時offset前是要取的行數(shù),后是偏移量也就是開始的地方。
一條語句各查詢間的使用順序
條件查詢-> 排序 -> 分頁查詢。
select ... from 表名 where ... ORDER BY ... LIMIT n OFFSET s;
修改(update)
update 表名 set 字段1 = 修改值,字段2 = 修改值 where ... ORDER BY ... LIMIT n OFFSET s;
直接使用會導(dǎo)致該表中該列的值全部修改,是個危險操作,所以在使用時常常在后面加上條件查詢等加以限制。
刪除(delect)
delete from 表名 where ... ORDER BY ... LIMIT n OFFSET s;
直接刪除會將該表所有行全部刪除,是危險操作,所以我們在后面常常加上條件查詢等加以限制。
柚子快報激活碼778899分享:數(shù)據(jù)庫 【MYSQL】表操作
參考閱讀
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。