Fork me on GitHub

数据库基本操作

一.增加

使用insert插入单行数据
insert [into] <表名> [列名] values <列值>
insert into Students (name,sex,birth_date) values ('李三','男','1990/6/15')
insert into Students values ('李四','男','1990/6/15')

使用insert,select语句将现有表中的数据添加到已有的新表中
insert into <已有的新表> <列名> select <原表列名> from <原表名>
insert into addressList ('姓名','地址','电子邮件') select name,address,email from Students

二.删除–使用delete删除数据库中某些数据

delete from <表名> [where <删除条件>]
delete from where name='李三'  -- 删除整行而不是某个单一字段

三.改–使用update更新数据库中数据

update <表名> set <列名=更新值> [where <更新条件>]
update Students set tel=default where id=5
update students set age=age+1
update students set name="张伟鹏", age=19 where tel="13288097888"

四.查

4.1 普通查询

select <列名> from <表名> [where <查询条件表达试>] [order by<排序的列名>[asc或desc]]
1.查询所有数据行和列
select * from Students
2.查询部分行列--条件查询
select * from Student where name='李三'
3.在查询中使用as更改列名
select name as 姓名 from Students where sex='男'
4.查询空行
select name from Student where sex is null
5.查询排序
select name from Student where age>25 order by desc
6.查询返回限制行数
select top 10 name from Student

4.2 模糊查询

1.使用like进行模糊查询
select * from Student where name like '李%'
2.使用between在某个范围内进行查询
select * from Student where age between 20 and 25
3.使用in在列举数值内进行查询(in后是多个的数据)
select name from Student where address in ('北京','上海','深圳')

4.3 分组查询

1.使用group by进行分组查询
select id as 学号,AVG(score) as 平均成绩 from score group by id
2.用having子句进行分组筛选
select id as 学号,AVG(score) as 平均成绩 from score group by id having count(score)>1

4.4 多表内联接查询

select Students.name,score.mark from Students,score where Students.name=score.name

五.数据库表的连接

左连:Left Join
右连:Right Join
内连:Inner Join
左连接where只影响右表,右连接where只影响左表

select * from table1 Left Join table2 where table1.id=table2.id
左连接后的检索结果是显示tbl1的所有数据和tbl2中满足where 条件的数据。

select * from table1 Right Join table2 where table1.id=table2.id
右连接后的检索结果是tbl2的所有数据和tbl1中满足where 条件的数据。

select * from table1 Inner Join table2 on table1.id=table2.id
功能和 select * from tbl1,tbl2 where tbl1.id=tbl2.id相同。
支持,让我的文章更加优秀!