Java开发系列-MySQL

概述

目前公司常见的数据库MySQL、Oracle。MySQL是属于关系型数据库,而Oracle是属于非关系型数据库(直接存储对象)。下面是列举一些常见的数据库。

  • Mysql Oracle 开源的数据库 社区版免费 商业版是收费的
  • oracle oracle 大型的 收费的数据库
  • DB2 IBM 大型的 收费的数据库 一般用于银行系统 特点主要它的硬件比较稳定
  • sqlserver 微软 中型的收费的数据库 c++开发者使用

MySQL语句

基本语句

-- 创建数据库
CREATE DATABASE mydb;
-- 创建表
CREATE TABLE USER (
    uid INT PRIMARY KEY AUTO_INCREMENT,
    username VARCHAR(20) DEFAULT NULL
);
-- 插入数据
INSERT INTO USER VALUES(NULL, 'tom');
-- 更新数据
UPDATE USER SET username = 'rose' WHERE id = 1;
-- 删除表
DROP TABLE USER;
-- 删除表中的所有数据
DELETE FROM USER;
-- 查询表中所有数据
SELECT *FROM USER;

聚合函数

对一列进行计算 返回值是一个,忽略null值, sum(), avg(), max(), min(), count();

-- .获得所有商品的价格的总和
SELECT SUM(price) AS totalPrice FROM product;
-- 获得商品表中价格的平均数:
SELECT ROUND(AVG(price), 2) AS vagprice FROM product;
-- 获得商品表中有多少条记录
SELECT COUNT(*) FROM product;

分组查询

-- 根据cno字段分组,分组后统计商品的个数
SELECT cno, SUM(price)FROM product GROUP BY cno;
-- 根据cno分组,分组统计每组商品的总数量,并且总数量> 200;
SELECT cno, SUM(pnum) FROM product GROUP BY cno HAVING SUM(pnum) > 200;
-- 获得商品表中有多少条记录:
select count(*) from products;

注意:having与where的区别 1. 1.where 是对分组前的数据进行过滤 ;having 是对分组后的数据进行过滤 2. where 后面不能使用聚合函数,having可以