数据库概述
数据库概念
- 数据库
Database,简称DB
是按照数据结构来组织、储存和管理数据的仓库,保存有组织的数据的容器,通常是一个文件或一组文件
- 数据库管理系统
Database Management System,简称DBMS
学习的MySQL就是其中之一
SQL概述
结构化查询语言(Structured Query Language)
是关系数据库的标准语言
它的特点是:简单、灵活、功能强大
- 数据查询语言(DQL)
也称为数据检索语句,可以从表中获取数据,确定数据怎样在应用程序中给出
保留字SELECT是DQL(也是所有SQL)用得最多的动词
其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING
这些DQL保留字常与其他类型的SQL语句一起使用
- 数据操作语言
SQL的书写注意事项
-
在MySQL数据库中,SQL语句不区分大小写
-
SQL语句可单行或多行书写
-
在SQL语句中,关键字不能跨多行或缩写
-
为了提高可读性,一般关键字大写,其他小写
-
空格和缩进使程序易读
- 数据查询语言
MySQL数据库
查看&使用数据库(database)
| 标题 | 描述 |
|---|---|
| show databases | 查看数据库 |
| use 数据库名 | 使用数据库 |
| create database 数据库名 | 创建数据库 |
| drop database 数据库名 | 删除数据库 |
数据库存储引擎
-
MyISAM(
重点):拥有较高的插入,查询速度,但不支持事务,不支持外键。 用于经常查询,不经常改变数据的场景,比如城市名 -
InnoDB(
重点):支持事务,支持外键,支持行级锁定,性能较低。
MySQL常用数据类型--Java数据类型
| JAVA | 备注 | MYSQL | 备注 |
|---|---|---|---|
| int | 短整型 | int | 短整型 |
| long | bigint | ||
| float | float | ||
| double | double | ||
| bigdecimal[类] | decimal | ||
| String | char | 不可变字符串 | |
| varchar | 可变字符串 | ||
| Boolean | Bit |
表的制作
常用表单查询
Ctrl+Q新建查询
简单查询
- 简单数据查询
SELECT 需要查询的列名 FROM table_name;
- 设置列名的别名
在查询的列名后面加AS ,然后使用单引号包裹更改的后的列名
- 设置显示格式
为了方便查询到结果数据,使用CONCAT函数来连接字符串
SELECT CONCAT(productName,'商品的零售价为:',salePrice) AS productSalePrice FROM product;
过滤筛选
语法:
SELECT <selectList>
FROM table_name
WHERE 条件1 AND/OR 条件2;/
WHERE 需要判断的字段 BETWEEN 条件1 AND 条件2;
- 集合查询-IN
语法:
SELECT <selectList>
FROM table_name
WHERE 列名 IN (值1,值2....);
- 空值查询 IS NULL
IS NULL:判断列的值是否为空。
语法:
WHERE 列名 IS NULL;
- 模糊查询 LIKE
使用LIKE运算符执行通配查询,查询条件可包含文字字符或数字:
%:通配符:可表示零或多个任意的字符。
_:通配符:可表示任意的一个字符。
通配符:用来实现匹配部分值得特殊字符。
语法:
WHERE LIKE'%字符_';
结果排序
使用ORDER BY子句将结果的记录排序
ORDER BY 语句出现在SELECT语句的最后。
- 升序
ASC : 升序,缺省--可以不写,这是默认的。
语法:
> SELECT <selectList>
>
> FROM table_name
>
> WHERE 条件
>
> ORDER BY 列名1 [ASC/DESC],列名2 [ASC/DESC]...;
- 降序
DESC: 降序。
分页查询 LIMIT
语法:
> SELECT * FROM table_name LIMIT ?,?;
>
> SELECT * FROM table_name LIMIT beginIndex,pageSize;
>
> beginIndex = (currentPage-1) * pageSize;
>
> 第一个?: 表示本页,开始索引(从0开始).
>
> 第二个?: 每页显示的条数
注意:求第N页(PageNum)显示N条数据(PageSize):
SELECT * FROM product LIMIT (PageNum-1)*PageSize,PageSize;
聚集函数
聚集函数作用于一组数据,并对一组数据返回一个值。
| 函数 | 描述 |
|---|---|
| COUNT | 统计结果记录数 如果列的值为null 不会计算在内的 |
| MAX | 统计计算最大值 |
| MIN | 统计计算最小值 |
| SUM | 统计计算求和 |
| AVG | 统计计算平均值 如果列的值为null 不会计算在内的 |
语法:
SELECT 函数(需要操作的字段)FROM table_name;