mysql表数据增删改查、子查询

//操作数据表中的记录

create table user2(
    id smallint unsigned primary key AUTO_INCREMENT,
    username varchar(20) not null,
    password varchar(20) not null,
    age tinyint not null default 10,
    sex boolean
)

--insert--
insert user2 values(null,‘孙千‘,‘123‘,25,1);//自增序列可以用null,或default代替
insert user2 values(default,"孙千","123",25,1);
insert user2 set username="lisi",password="456";//insert set插入语法
insert test (username) select username from user2 order by id desc limit 2;//查询插入
--update--
update user2 set age=age+5;//没有条件将更新所有的列
update user2 set age=age-id, sex=0;
update user2 set age=age+10 where id%2=0;
--delete--
delete from user2 where id=2;
--select--
select version(); select now();

--子句--
where 条件子句 后边可以跟列、函数、算术逻辑运算
group by 分组子句 后边跟列名、列位置
having 也是条件子句的一种,主要解决where无法与聚合函数一起使用的问题
order by 排序子句,asc升序,desc降序排序
limit 2 数量限制、查询数量限制

--子查询-------------------------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS tdb_goods(
    goods_id    SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    goods_name  VARCHAR(150) NOT NULL,
    goods_cate  VARCHAR(40)  NOT NULL,
    brand_name  VARCHAR(40)  NOT NULL,
    goods_price DECIMAL(15,3) UNSIGNED NOT NULL DEFAULT 0,
    is_show     BOOLEAN NOT NULL DEFAULT 1,
    is_saleoff  BOOLEAN NOT NULL DEFAULT 0
  );
---由比较运算符印发的子查询---
select round(avg(goods_price),2) from tdb_goods;  查询某列平均值
select goods_id,goods_name,goods_price from tdb_goods where goods_price > (select round(avg(goods_price),2) from tdb_goods);//查询大于平均值的信息
//对于返回多列的子查询,可以加 any、some、all修饰符
select goods_id,goods_name,goods_price from tdb_goods where goods_price > any (select goods_price from tdb_goods where goods_cate="超级本");
---此外,还有由in(not in)、exist(not exist)引发的子查询
----多表查询---
CREATE TABLE IF NOT EXISTS tdb_goods_cates(
    cate_id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    cate_name VARCHAR(40)
  );

insert tdb_goods_cate (cate_name) select goods_cate from tdb_goods group by goods_cate;//查询插入
update tdb_goods inner join tdb_goods_cates on goods_cate=cate_name set goods_cate=cate_id;//参照类别表更新商品表
create table tdb_brand(
    brand_id SMALLINT unsigned primary KEY auto_increment,
    brand_name varchar(40) not null
)select brand_name from tdb_goods group by brand_name;//新建表时并赋值
update tdb_goods as g inner join tdb_brand as b on g.brand_name=b.brand_name set g.brand_name=b.brand_id;//更新商品名信息
alter table tdb_goods
    change goods_cate cate_id smallint unsigned not null,
    change brand_name brand_id  smallint unsigned not null ;//修改表结构
时间: 2024-10-12 18:15:04

mysql表数据增删改查、子查询的相关文章

mysql 数据表的增删改查 目录

mysql 表的增删改查 mysql 表的增删改查 修改表结构 mysql 复制表 mysql 删除表 原文地址:https://www.cnblogs.com/mingerlcm/p/10502647.html

MySQL数据库之表的增删改查

目录 MySQL数据库之表的增删改查 1 引言 2 创建表 3 删除表 4 修改表 5 查看表 6 复制表 MySQL数据库之表的增删改查 1 引言 1.MySQL数据库中,数据库database就是硬盘上的一个文件夹,表table就是文件夹里面的一个文件 2.表中的一条记录就相当于文件中的一行内容,与excel表类似,表table中有不同的标题,称之为字段 3.本节对表结构做增删改查,即创建表.删除表.修改表.查看表结构,至于表中数据的增删改查日后单独总结 2 创建表 1.创建一张表,需要建一

AngularJS中使用$http对MongoLab数据表进行增删改查

本篇体验使用AngularJS中的$http对MongoLab数据表进行增删改查. 主页面: <button ng-click="loadCourse()">Load Course</button> <button ng-click="toggleAddCourse(true)">Add New Course</button> <ng-includce src="'course_list.html'&q

【框架】[Hibernate]利用Hibernate进行单表的增删改查-Web实例

转载请注明出处:http://blog.csdn.net/qq_26525215 本文源自[大学之旅_谙忆的博客] 前面两篇博客已经将Hibernate的基础知识讲解得差不多了,差不多到写实例的时候了. 本篇只用hibernate进行单表的增删改查. 应用Hibernate,对students表进行增删改查. service层和DAO层,我都是直接写实现类了(因为这里主要是演示一下Hibernate的使用),如果是开发项目,注意一定要写接口! 准备数据库: 首先准备一个students表: cr

3.django模板,单表ORM增删改查

1.Django模板语法 模板语法: 变量: {{}} 1 深度查询 句点符 2 过滤器 {{val|filter_name:参数}} 标签: {% %} 1.1Django模板使用 from django.shortcuts import render import datetime def index(request): now = datetime.datetime.now() return render(request,"index.html",{"current_t

ORM 实现数据库表的增删改查

这次通过反射技术来实现一下数据库表的增删改查对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping) 注:引用时约束了以下几点: 数据库表的表名与类的类名一致 数据库字段名和类字段名一致 自增字段的访问权限为private其余字段都为public 注:如果用的是MySql数据库,有提供好的MySqlhelper非MySql数据库可以参考我写好的SqlHelper SqlHelper参考位置:http://www.cnblogs.c

java jdbc 连接mysql数据库 实现增删改查

好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打交道非常基础的一个知识,也是比较接近底层的,在实际的工作中大家用得更多的其实还是比较成熟的框架,例如Hibernate.Mybatis. 但是作为这些成熟框架的底层的jdbc却也是我们应该去掌握的,只有了解了jdbc的增删改查,这样在以后如果有兴趣去研究Hibernate或者Mybatis的源代码的

【Mysql】Java中对Mysql数据库的增删改查、Java的System类

这部分也是所谓JDBC.网站数据源的内容,把名字弄得很高深似得,实际上只是Java中对Mysql数据库的增删改查的内容.非常简单,之前写了这么多Mysql的内容,没好好总结一下,实在是不应该.今天就实现一个Java中对Mysql数据库的增删改查,随便带点Java取出当前系统的系统名与系统时间的知识,完成一个还算有点意思的小例子. 一.基本目标 首先,在Mysql数据库中有一张名为testtable的空表,id为自增列,username,class都是文本列,但是class里面都存放数字,也就是整

web day19 Service层处理事务(利用ThreadLocal),TxQueryRunner小工具,单表练习(增删改查操作),分页

Service事务 DAO中不是处理事务的地方,因为DAO中的每个方法都是对数据库的一次操作 在Service中不应该出现Connection,它应该只在DAO中出现, 因为它是JDBC的东西,JDBC的东西是用来连接数据库的 修改JdbcUtils 我们把对事务的开启和关闭放到JdbcUtils中,在Service中调用JdbcUtils的方法来完成事务的处理, 但在Service中就不会再出现Connection这一"禁忌"了. 代码 public class JdbcUtils