mysql資料庫:查詢,刪除,插入
select * from table_name;(查看錶的數據信息)
select col_name from table_name;(查看某列的數據)
為表的所有列插入數據
insert into table_name(column_list) values(value_list);
insert into table_name(id,name,age) values(value_list);
可以省略列名稱,但數據一定要跟列名順序一樣
為表的指定列插入數據
同時插入多條記錄
insert into table_name(column_list) values(value_list1),(value_list2),...(value_listn)。
將查詢結果插入表中
Insert可以將select語句查詢的結果插入到表中。
語法格式:
insert into table_name1(column_list1) select(column_list2) from table_name2 where (condition)
insert into bookcategory select * from test where id>5;將表test中ID>5的數據插入表bookcategory中
設置自動編號
設置表的屬性值自動增加
列名 數據類型 auto_increment
數據類型(任何整數類型)
在創建表時用 列名 數據類型 auto_increment;
在插入數據時,指定自動編號的列不需要加入值;可以設置默認自動增加的初值auto_increment=n
create table book(
book_id int primary key auto_increment,
book_name varchar(20) not null,
)auto_increment=5;
為有的表添加自增列
alter table bookcategory modify book_id int auto_increment;
設置默認初始值
alter table bookcategory auto_increment=x;
去掉自增列
alter table bookcategory modify category_id int;(保持原來的編號)
show create table table_name;查看錶中各數據結構(可以查看外鍵名、列的數據類型、約束條件)
單表數據記錄的更新
Mysql中使用update語句更新表中的記錄;
更新特定行
update table_name set col_name = value1,col_name2=value2,...,col_namen=valuen
where(condition);
更新所有的行
update readerinfo set balance=balance-79.8*0.05 where card_id="2015201";字元串用單引號
單表記錄的刪除
使用delete語句刪除滿足條件的記錄,語法格式:
delete from table_name where condition;(不加條件,刪除表中所有的數據)
delete from bookinfo where id=5;(刪除表中id=5所在行的所有數據)
單表記錄的刪除(刪除表,並創建一個新的表)
truncate table table_name;
單表數據記錄查詢select
查詢所有列select * from table_name;
查詢指定列 select 列1,列2 from table_name;
查詢有條件的列
select * from table_name where id = 5;(查詢id=5所在行的信息)
查詢結果不重複(用關鍵字distinct消除重複的記錄值)
select distinct 列名 from 表名;
查詢空值
select語句使用is null 子句,查詢某列內容為空記錄。
select * from readerinfo(表名) where age(列名) is null;
分組查詢
是對某個或多個列進行分組
group by 列名 having 條件表達式
group by 通常和聚合函數一起使用,列如:max(),min(),sum(),avg(),count()統計個數.
select count(*) from readerinfo where sex="男";統計性別男有多少人
select sex,count(*) from readerinfo group by sex;
使用having過濾分組
having 條件表達式
having限定顯示記錄所需滿足的條件,只有滿足條件的分組才會被顯示
select sex from readerinfo group by sex having count(sex)>2;
select sex from reader_info group by sex;統計性別有多少組,男,女兩組
select sex,count(*) from readerinfo group by sex;統計性別有多少組,並顯示兩組性別有多少人
對查詢結果排序
order by 列名[asc|desc] asc升序 desc降序
單列排序
select * from bookinfo order by price;默認升序
多列
select * from bookinfo order by price,store;
指定方向排序
select * from bookinfo order by price asc,store desc;
通過limit限制查詢結果的數量
limit可以返回指定位置的記錄
limit [位置偏移量,] 行數
第一個記錄的位置偏移量為0,第二條為1,...以此類推。
顯示圖書信息表的前三行。0
select * from bookinfo limit 3;
顯示從第3條記錄開始後的2條圖書信息記錄。
select * from bookinfo limit 2,2;
![](https://pic.pimg.tw/zzuyanan/1488615166-1259157397.png)
![](https://pic.pimg.tw/zzuyanan/1482887990-2595557020.jpg)
TAG:Lazy的筆記 |