sql单表的增删改查

一.对数据库的操作
1.1 创建及删除数据库

create database 库名
create database 库名 character set 编码

1
2

SQL语句 功能
create database 库名; 创建一个数据库
create database 库名 character set 编码; 创建一个数据库并设置数据库的编码
show create database 库名; 查看数据库编码
drop database 库名; 删除数据库
1.2 选择数据库
SQL语句 功能
use 库名; 锁定想要操作的数据库
select database(); 查看当前选择的数据库
二.对数据库表的操作
2.1 创建表
SQL语句 功能
create table 表名(字段名 类型(长度) [约束], 字段名 类型(长度) [约束], ……); 创建表
drop table 表名; 删除表
2.2 查看表
SQL语句 功能
show tables; 列出数据库中所有表的表名
desc 表名; 可以查看表的结构
2.3 表的修改
SQL语句 功能
alter table 表名 add 字段名 类型(长度) [约束]; 添加一列
alter table 表名 modify 要修改的字段名 类型(长度) [约束]; 修改列的类型(长度,约束)
alter table 表名 change 旧字段名 新字段名 类型(长度) [约束]; 修改列的列名(列名即字段名)
alter table 表名 drop 字段名; 删除一列
rename table 表名 to 新表名; 修改表名
alter table 表名 character set 编码; 修改表的字符集
show create table 表名; 查看当前表的编码
三.表中数据的增删改查

设置数据库的编码,解决乱码问题

set names gbk;

1

3.1 插入记录

insert into 表名(字段名1,字段名2,字段名3……) values(值1,值2,值3……)
insert into 表名 values(值1,值2,值3……)//也可以省略字段名

1
2

3.2 修改记录

update 表名 set 字段名=值, 字段名=值, 字段名=值……

1

3.3 删除记录

delete from 表名;

1

关键字delete和truncate都可用于删除表中数据,单是删除方式不同
关键字 特点
delete 删除是一条一条的删除记录,它配合事务,可以将删除的数据找回。uid不会重置
truncate 删除是将整个表摧毁,然后再创建一张一模一样的表。它删除的数据无法找回。uid会重置
四.查询操作

准备一些数据,shop数据库orderitem表
sql文件

这里写图片描述
4.1 简单查询
SQL模板 功能
select * from 表名; 查询表中所有数据
select 字段名,字段名,… from 表名; 查询表中几列数据
select * from 表名 as 别名; 使用别名
select distinct(字段名) from 表名; 查询一列数据并去掉重复值显示
select 字段名+100 from 表名; 查询表中的列,并将此列的数据进行数学计算(+10)后显示
4.2 条件查询
SQL语句示例 功能
select * from 表名 where 字段名=’关键字’; 关键字匹配查询
select * from 表名 where 字段名 like ‘%关键字%’; 含有关键字的条件查询
select * from 表名 where id in<1,2,3>; 查询id值为1,2,3的数据
select * from 表名 where id>10; 查询id值大于10数据
select * from 表名 where id>10 or id=8; 查询id值大于10数据或等于8的数据
4.3 查询后排序显示
SQL模板 功能
select * from 表名 order by id asc; 查询表中数据,并按id升序排列显示
select * from 表名 order by id desc; 查询表中数据,并按id降序排列显示
4.4 使用聚合函数
SQL语句示例 功能
select sum(subtotal) from orderitem; 获得orderitem表中subtotal列的数据的和
select avg(subtotal) from orderitem; 获得orderitem表中subtotal列的数据的平均值
select count(*) from orderitem; 获得orderitem表中数据的总列数
4.4 分组查询
SQL模板 功能 SQL语句示例 功能
select 字段1,sum(字段2) from 表名 group by 字段1; 查询表中字段1的列的值并根据字段1的列的值分组,值相同的分为一组,并为每组求字段2的列的值的和 select count,sum(subtotal) from orderitem group by count; 查询orderitem表中count列的值并根据count列的值分组,值相同的分为一组,并为每组求subtotal列的值的和
select 字段1,sum(字段2) from 表名 group by 字段1 having sum(字段2)>15000; 查询表中字段1的列的值并根据字段1的列的值分组,值相同的分为一组,并为每组求字段2的列的值的和,将和大于15000的数据显示 select count,sum(subtotal) from orderitem group by count having sum(subtotal)>15000; 查询orderitem表中count列的值并根据count列的值分组,值相同的分为一组,并为每组求subtotal列的值的和,将和大于15000的数据显示

上述两条SQL语句的查询结果显示:
第一条:
第一条
第二条:
第二条
关键字 特点
select 后面的内容一般是要查询的字段(即列名),或聚合函数
having 分组后带有条件只能使用having
order by 它必须放到最后面

作者:a奔腾的心
来源:CSDN
原文:https://blog.csdn.net/eagleuniversityeye/article/details/78218711
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mybatis框架对于单表增删改查操作非常方便。在Mybatis中,我们需要编写对应的Mapper接口和Mapper XML文件来实现这些操作。 对于单表的插入操作(增),我们可以在Mapper XML文件中编写相应的SQL语句,使用INSERT INTO语句将数据插入到数据库中。在插入数据之前,我们需要先创建一个与对应的实体类,实体类中的属性与的字段对应。然后在Mapper接口中定义一个方法,方法的返回值类型可以是int或者void,参数为实体对象。在Mapper XML文件中,我们使用<insert>标签来定义插入的SQL语句,并使用#{属性名}的方式引用实体类中的属性值。最后,通过调用Mapper接口中的方法,即可实现数据的插入操作。 对于单表的删除操作(删),我们可以在Mapper XML文件中编写相应的SQL语句,使用DELETE FROM语句删除数据库中的数据。在删除数据之前,我们需要先创建一个与对应的实体类,实体类中的属性与的字段对应。然后在Mapper接口中定义一个方法,方法的返回值类型可以是int或者void,参数为删除条件。在Mapper XML文件中,我们使用<delete>标签来定义删除的SQL语句,并使用#{属性名}的方式引用删除条件的属性值。最后,通过调用Mapper接口中的方法,即可实现数据的删除操作。 对于单表的更新操作(改),我们可以在Mapper XML文件中编写相应的SQL语句,使用UPDATE语句更新数据库中的数据。在更新数据之前,我们需要先创建一个与对应的实体类,实体类中的属性与的字段对应。然后在Mapper接口中定义一个方法,方法的返回值类型可以是int或者void,参数为更新条件和更新的数据。在Mapper XML文件中,我们使用<update>标签来定义更新的SQL语句,并使用#{属性名}的方式引用更新条件和更新数据的属性值。最后,通过调用Mapper接口中的方法,即可实现数据的更新操作。 对于单表的查询操作(查),我们可以在Mapper XML文件中编写相应的SQL语句,使用SELECT语句从数据库中查询数据。在查询数据之前,我们需要先创建一个与对应的实体类,实体类中的属性与的字段对应。然后在Mapper接口中定义一个方法,方法的返回值类型可以是实体类对象、List集合或者其他自定义返回类型,参数为查询条件。在Mapper XML文件中,我们使用<select>标签来定义查询的SQL语句,并使用#{属性名}的方式引用查询条件的属性值。最后,通过调用Mapper接口中的方法,即可实现数据的查询操作。 总之,通过Mybatis框架,我们可以方便地实现单表增删改查操作,只需要编写相应的SQL语句和Mapper接口方法即可。这样,我们可以更加高效地操作数据库并处理数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值