MySQL笔记

数据保存

保存在内存
优点-读写速度快
缺点-程序结束后数据丢失

保存到文件(序列化)
优点-数据可以永久保存
缺点-频繁的进行io操作,效率不高
数据的管理不方便,需要把所有数据全部读取出来才能操作

数据库
1-永久保存
2-管理方便

数据库实例-schema


物理主键(数据库中的唯一标识)--id   -pk/nn/ai
逻辑主键(Java代码中的唯一标识)

创建表中的单词:
comments-注释
engine-引擎
pk(primary key)主键/主码(唯一标识)
nn(not null)非空
uq(unique)唯一
ai(auto increment)自动递增
un(unsigned)
default默认值

数据类

SQL语法

常用操作数据库的命令

1.show databases; 查看所有的数据库
2.create database test; 创建一个叫test的数据库
3.drop database test;删除一个叫test的数据库
4.use test;选中库 ,在建表之前必须要选择数据库
5.show tables; 在选中的数据库之中查看所有的表
6.create table 表名 (字段1 类型, 字段2 类型);
7.desc 表名;查看所在的表的字段
8.drop table 表名; 删除表
9.show create database 库名;查看创建库的详细信息
10.show create table 表名; 查看创建表的详细信息
11.insert into表名[(字段1,字段2,…)]valuse(‘值1’,‘值2’,…)往表里添加插入数据


DML-添加+删除+修改(关键字)

insert---添加

 insert into 表名() values(值1,值2,…);
 insert into 表名(字段1,字段2…) values(值1,值2,…);(较常用)
 insert into 表名(字段1,字段2…) values(值1,值2,…),(值1,值2,…),(值1,值2,…);


delete----删除

delete from 表名 where 条件
注意:where 条件必须加,否则数据会被全部删除
与truncate区别:自增id重新初始化


update---修改

update 表名 set字段1 = 值1, 字段2 = 值2 where 条件

查询---关键字select

基本用法:
select 字段1,字段2......from 表名
dual 伪表
查询全部内容:
Select * from user;
查询内容带有筛选条件:
select * from user where **
查询部分列(起别名)
select a.id,a.name from user a where **
多表关联查询
select a.id,b.order from user a,order b where a.id=b.uid;
 

别名as

自定义列(常量列)

去掉重复数据 distinct

where 查询条件

比较

 判空(null/空的字符串)-----Java(String)

模糊查询   like

转义

排序 order

默认升序---asc
降序---desc

聚合函数

求和:sun()
最大值:max()
最小值:min()
平均值:avg()
统计个数:count()(不包含null的个数)

分组筛选

分组:group by
having查询group by后的语句

limit分页查询

多表查询

数据库设计---ER图
一对一
一对多:在一表中加上多表中对应的唯一标识
多对多

子查询(嵌套查询)---3种方法

1、子查询的结果:作为主查询的条件来用(结果只能是一列

 子查询结果只有一个用=或in,多个只能用in

2、子查询:作为主查询表来用(必须定义别名p2)

 3、子查询:作为主查询的字段(子查询的结果必须是一条记录----所以用唯一标识作为连接字段

关键字all、any

any----只要有一个记录满足条件,整个条件成立     
<all-----对所有记录满足条件,整个条件成立 

exists关键字
 

无关系

有关系

把有人的部门的信息查询出来

jon---关联查询

join-mysql常用的 7 种 join.pdfnull

 思路

 内连接  [inner] join---左右两表有关联能的数据才能查的出来

 

 左(外)连接left [outer] join---左表中都能查到,右表中关联成功的能查到

右(外)连接right [outer] join ---右表中都能查到,左表中关联成功的能查到

 全外连接 full [outer] join

MySQL中用union关键字

 交叉连接 cross join

和全连接一回事

全连接--笛卡尔积



查询格式

时间

 

事务  transection

什么事事务:---要么都成功,要么都失败
eg:银行转账系统

事务原则(ACID)

--原子性:事务是不可分割的最小操作单位,要么都成功,要么都失败
--一致性:事务操作前后数据总量保持不变
--持久性:事务一旦提交则不可逆,数据会持久化到数据库里
--隔离性:多个事务之间互相独立,隔离性要求事务不受其他并发事务的影响,在给定时间内,该事务是数据库运行的唯一事务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值