1、数据库的认识
DB数据库:存放数据的容器
DBMS数据库管理系统:管理数据库的软件
数据库应用系统:一切使用了数据库的系统
数据库:
关系型数据库: Oracle 、 DB2 、 SQL SERVER 、 MYSQL
非关系型数据库: ORDBMS:面向对象数据库技术、 NoSQL :结构化数据库技术。
SQL:结构化查询语言(Structured Query Language)所包含的6部分
数据库查询语言(DQL) -> 数据查询
数据库操作语言(DML) -> 增删改
事务处理语言(TPL)
数据控制语言(DCL)
数据定义语言(DDL) -> 建库建表建约束
指针控制语言(CCL)
2、MySQL基础
1、启动数据库:
①、 通过服务列表开启 : 电脑任务栏右键 - 任务管理器【快捷键ctrl+shift+esc】 - 点击服务列表 - 根据名称查询mysql相关服务名
②、 通过命令开启 : 在DOS窗口下输入net start 数据库名称、 net stop 数据库名
2、连接数据库(类似java需要配置环境变量)
①DOS窗口下
全称:mysql -uroot -p1234656 -hlocalhost -P3306
-u:user用户 - 连接数据库的用户
-p:password密码 - 连接数据库的密码
-h:host - 连接数据库的ip地址
-P:Port端口号 - 数据库的端口号
②可视化工具(Navicat)
2、数据库常用指令
shoe databases;------>展示所有的数据库
use 数据库名; ------>使用数据库
show tables; ------>显示库中所有的表
create database 数据库名; ------>创建数据库
drop database 数据库名; ------>删除数据库
3、 数据库存储引擎分为两种:
InnoDB: 支持事务和外键的,操作效率相对较低
MyISAM: 不支持事务和外键的,操作效率较高
4、常用类型
JAVA | Java备注 | MYSQL | MYSQL备注 |
---|---|---|---|
Int | 短整型 | int | 短整型 |
long | 长整型 | bigint | 长整型 |
float | 单精度 | float | 单精度 |
double | 双精度 | double | 双精度 |
bigdecimal[类] | 金融数据 | decimal | 金融数据 |
String | 字符串 | char | 不可变字符串 |
varchar | 可变字符串 | ||
Boolean | 布尔值 | Bit | 取值0和1 |
5、常用语法
/*基本查询语句*/
SELECT 表的列名1,表的列名2,....FROM 数据源;
/*去重*/
语法: SELECT DISTINCT 列名,..
/*设置别名*/
用法:列 as 别名
/*比较运算*/
语法
SELECT <selectList>
FROM table_name
WHERE 条件1 AND/OR 条件2;
/*范围查找*/
BETWEEN AND[是闭区间]
/*几个关键字*/
集合查询- IN
空值查询 IS NULL
/*模糊查询*/
LIKE
通配符:%代表多个字符;_代表一个字符
/*结果排序*/
ORDER BY 出现在SELECT语句的最后
语法:
SELECT <selectList> FROM table_name WHERE 条件 ORDER BY 列名1 [ASC/DESC],列名2 [ASC/DESC]...;
升序:ASC 默认不写
降序:DESC
/*分页*/
语法:
SELECT * FROM table_name LIMIT ?,?;
SELECT * FROM table_name LIMIT beginIndex,pageSize;
beginIndex = (currentPage-1) * pageSize;
第一个?: 表示本页,开始索引(从0开始).
第二个?: 每页显示的条数
/*聚集函数*/
COUNT:统计结果记录数 如果列的值为null 不会计算在内的
MAX: 统计计算最大值
MIN: 统计计算最小值
SUM: 统计计算求和
AVG: 统计计算平均值 如果列的值为null 不会计算在内的
/*分组函数*/
语法格式:
SELECT 聚集函数或者分组的列 FROM table_name WHERE 条件 GROUP BY 列名 HAVING 分组之后的条件;