sql02

  • 单行插入

insert into 表名(列名1,列名2,列名3……) values(值1,值2,值3……)

insert into 表名 values(值1,值2,值3……)(给表中所有列插入数据不需要写列名)

  • 多行插入

insert into 表名(列名1,列名2,列名3……) values(值1,值2,值3……),(值1,值2,值3……),(值1,值2,值3……)

  • 删除

带条件的

delete from 表名 where 条件

不带条件的

        delete from 表名;

面试题

说说delete与truncate的区别?

delete删除的时候是一条一条的删除记录,它配合事务,可以将删除的数据找回。

truncate删除,它是将整个表摧毁,然后再创建一张一模一样的表。它删除的数据无法找回。

 

注意:delete删除,uid不会重置!而使用truncate操作,uid会重置

  • 修改

Update 表名 set 列名=值,列名=值  where 列名=值

#修改 张三的地址为 火星

update student set address='火星' where stuname='张三'

#将 2017年以后 出生的学生的 并且 姓 为 赵的学生的 地址改为大日本

update student set address='..日本' where borndate>'2017-01-01' and stuname like '赵%'

语法:

        select [distinct] *| 列名,列名 from 表名 [where条件]

   单表查询

  • 常见函数

Count() 求个数

#求出学生表中所有学生的人数

SELECT  COUNT(*) from student

Sum() 求和  avg() 求平均值

日期函数  DATEDIFF(日期1,日期2) 值为2个日期的天数差

求整的函数  CEILING (number2 ) //向上取整 FLOOR (number2 ) //向下取整

#打印出学生表中所有学生的姓名和年龄

SELECT  stuname, CEILING(DATEDIFF(NOW(),borndate)/365)  from student

  • 多表查询

内连接(取多个表数据的公共部分)

 语法:两种写法

# 查询参加考试的学生姓名和分数

#分数--》result表  姓名-->student

#内连接查询的时候 一定要加上 表与表之间的关系

#方法1

SELECT stuname,score

from student,result

where student.stuno=result.stuno

#方法2   form后面跟一个表  join 表 on 2个表的关系

SELECT   stuname,score

from student 

 JOIN result ON  student.stuno=result.stuno

 

 

# 查询参加考试的学生姓名和科目名称和分数

#表 也可以取别名

SELECT   stuname,subjectname,score

from student s 

JOIN result r ON  s.stuno=r.stuno

join `subject` su on su.subno=r.subjectno

where score is not null 

 

#工具生成多表查询

 

SELECT

student.stuname,

`subject`.subjectname,

result.score

FROM

result

INNER JOIN student ON result.stuno = student.stuno

INNER JOIN `subject` ON result.subjectno = `subject`.subno

where score is not null

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值