mysql 目录武沛齐_MySQL数据表中的数据操作
1、插入數據
insert into t_user (username,password,nickname) values ('foye','123','佛爺');
以下方式必須寫出所有的字段
insert into t_user values (null,'eryuehong','456','二月紅');
可以通過 insert into xxx select xxx 插入已有表中的數據
insert into t_user(username,nickname) select no,name from t_student;
2、簡單查詢
select * from 表名
查詢條件
select * from 表名 where 條件
select * from t_user;
select id,username from t_user;
select * from t_user where id>2;
select * from t_user where id>2 and nickname='二月紅';
3、更新
update 表名 set 字段名=新的值 where 條件
update t_user set username='baye',nickname='八爺' where id=2;
4、刪除
delete from 表名 where 條件
delete from t_user where id=1;
使用truncate可以清空表中的全部信息,而且可以將自動遞增的標識清空
truncate table t_student;
5、常用查詢
like表示模糊查詢:like '張%' 模糊查詢張xx的數據
select * from t_stu where name like '李%'; (查詢姓名為李xx的學生)
in表示某個值在某個數據中
select * from t_stu where cla_id in (1,2); (查詢在1和2班級中的學生)
between可以查詢某個范圍內的數據
select * from t_stu where born between '1988-01-01' and '1989-12-30';
(查詢出生日期在1988-01-01日至1989-12-30日的學生)
可以通過一些函數進行查詢
select name as '姓名',year(now())-year(born) as '年齡' from t_stu where name like '李%';
(查詢姓李的學生的姓名和年齡,as表示可以為投影取一個別名)
子查詢
select * from t_stu where born=(select min(born) from t_stu where cla_id=3 and sex='男');
(查詢班級在3班的年齡最大的男生,注意最好將查詢條件放在子查詢里)
查詢為空的值應該使用 is null 而不是用 =null。
max()表示獲取最大值。
min()表示獲取最小值。
count()表示統計數量。
排序
select * from t_stu where cla_id=3 order by born desc;
(通過出生日期的降序排序)
select * from t_stu where cla_id=3 order by born;
(默認情況是通過升序排序,order by bord asc)
分組查詢(分組查詢主要用來統計相應的不同組別的信息)
select cla_id,count(id) from t_stu group by cla_id;
(以上可以分組獲取每個班級中的學生總數)
select cla_id,count(id),max(born),min(born) from t_stu where cla_id is not null group by cla_id;
(通過班級進行分組,查詢每個班級中年齡最大的值和年齡最小的值和班級的人數)
(分組查詢中一樣是可以加入查詢條件的)
select cla_id,count(id) as pn,max(born),min(born) from t_stu where cla_id is not null group by cla_id having pn>60;
(當比較的條件是在查詢出來的投影中時,不能使用where進行比較,而應該使用having進行比較,特別在group by經常使用)
6、跨表查詢(連接查詢)
1、相對較早的方式
select * from t_cla t1,t_stu t2 where t1.id = t2.cla_id and t1.id in (1,2,3);
較早的方式是通過where來連接幾個主鍵和外鍵的。
2、目前常用的方式
常用的方式是使用join和on來連接的,join表示將表連接起來,on(連接的字段關系)
select t1.name,t2.name from t_cla t1 join t_stu t2 on (t1.id=t2.cla_id) where t1.id in (1,2,3);
內連接:直接使用join就是內連接。
左連接:left join
左連接是將左邊的這張表設置為主表來連接右邊的表,如果左邊表中的數據在右表中沒有出現,會自動使用null來替代。
select t1.name,count(t2.id) from t_cla t1 left join t_stu t2 on (t1.id=t2.cla_id) group by t1.id;
右連接
右連接是將右邊的這張表設置為主表來連接左邊的表,如果右邊表中的數據在左表中沒有出現,會自動使用null來替代。
select t1.name,count(t2.id) from t_cla t1 right join t_stu t2 on (t1.id=t2.cla_id) group by t1.id;
總結
以上是生活随笔為你收集整理的mysql 目录武沛齐_MySQL数据表中的数据操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用java建立多项式logit模型_使用
- 下一篇: tfs管理java代码_使用Intell