注:供个人学习回顾,参考意义并不大

【别人的笔记】

https://github.com/hjzCy/sql_node/blob/master/mysql/MySQL%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0.md

【插入数据】

insert into  表名 values (value1,value2,value3,value4);

【常用数据类型】

【联合主键】

create table user(

id int not null,//非空约束

varchar name,

varchar pwd,

age int default 10,//用户不填写年龄则年龄默认为10. //默认约束

primary key(id,name),

unique(id,name)

);

只要两者加起来不重复就可以

联合主键任何一个字段都不能为空

【自增约束】

和联合主键搭配在一起使用 ,primary key auto_increment

作用是自己添加一个编号

【唯一约束】

约束修饰字段的值不能重复

alter table 表名 add unique (字段名);

主键不可以为空但是唯一约束可以为空值:null

在创建表的时候添加同联合主键一样

【非空约束】

添加not null,相关的字段不能为空。

【默认约束】

【外键约束】

一个表的普通字段是另一个表的主键

主表里面没有的东西附表不能进行删除

create table class (

id int primary key,

pwd varchar(20)

);

create table student (

id int primary key,

phone varchar(11),

calss_id int,

foreign key (class_id) references class(id)

);

【tips】

服务器不支持图形化界面,所以需要学习命令行

【问题】

数据库迁移文件是什么?

忘记创建、删除、修改主键约束解决办法。

解:alter table 表名字 add primary key(主键名);

alter table 表名字 drop primary key(主键名);

alter table 表名字 modify 主键名 int primary key;

如何删除主键约束:

【数据库设计三范式】

1NF:数据库表中的所有字段都是原子结构,不能再继续拆分,范式以实际开发为主,不用强行满足某一范式。

2NF:满足1NF前提下,出主键外的所有列都必须完全依赖于主键,如果出现不完全依赖,只可能是因为联合主键。如果是部分依赖的话需要拆表

3NF:除了主键列的其它列,不能有传递依赖。譬如通过电话找到学生,再通过学生找到老师,这三者在同一张表里面就会出现冗余的现象。

【查询某一列中不重复的元素】

select distinct  列名 from 表名;

【查询一个区间】

select * from 表名 where 列名 between 最小

数字 and 最大数字

select * from 表名 where 列名>数字 and 列名<数字

【升序降序方式查询】

select * from 表名 order by 要排序的字段 asc/desc; //分别是升序和降序,默认升序

select * from 表名 order by 要排序的字段A asc, 要排序的字段B desc;

以A升序排列B降序排列查询。

【统计】

select count(*) from 表名 where 列名=“期望数值”;

【分组】

使用group by,用having进行选择

select xx from xxx group by xx having count(xx)>=2 and xx like ‘3%’;以3开头个数大于2的xx

【多表查询】

字段分布在不同的表的时候选择要查询的所有属性以及涉及到的所有表,用where限制相等的属性。

select A,B,C from C,D where C.A=D.A;

三表查询,需要有一个中间表,中间表包含两外两个的属性。

【模糊查询使用like】

【起别名】

select A from B.xxx as C;,把B中的xxx替换为C。

【查询结果】

可以用union将两个查询结果连接成一个表一起显示

【】

any,大于其中任意一个,至少。

all的用法

【模糊查询取反】

【获取当前时间、年分】

now(),year(列名)

【内连接、外连接(左连接、右连接)】

inner join 内连接:两个表里面有关系的字段查询出来:

左外联查询:有关系的字段显示出来,没有关系的右边就显示空:left join ... on ...

右外连接: 有关系的字段显示出来,没有关系的左边就显示空right join... on ...

全外连接:mysql不支持,相当于左、右外连接的和

好处:可以不用创建外键

【事务回滚和提交】

自动提交为false的时候输入rollback可以进行回滚,此时需要手动提交数据。commit;    提交了便不可以rollback了。给我们提供了一个撤回的机会;set autocommit=1/0,设置是否自动提交。

autocommit为1的时候,语句前面begin或者start transaction可以帮我们手动开启一个事务,此时使用rollback是有效的。一旦commit就不可以回滚了

【事务的四大特性ACID】

A:(原子性):事务是不可再分割的最小单位

C:(一致性):同一事务中的SQL语句必须同时成功或者同时失败

I:(隔离性):事务A和事务B之间是必须隔离的

D:(持久性):事务一旦结束便不可以rollback

【事务的隔离性】

1.read uncommited 读未提交 未提交的数据可以被读取到

2.read commited 读已经提交

3.repeatable read 可以反复读

4.serializable 串行化

【查看、修改数据库隔离级别】

查看:select @@global.transaction_isolation;

修改:set transaction isolation level read committed;

【脏读】

一个事务里面读取到了另一个事务没有提交的数据。

【自学】MySQL学习总结相关推荐

  1. 自学mysql数据库真没那么难,38个小技巧教你快速学习MySQL数据库

    1.如何快速掌握MySQL? ⑴培养兴趣 兴趣是最好的老师,不论学习什么知识,兴趣都可以极大地提高学习效率.当然学习MySQL 5.6也不例外. ⑵夯实基础 计算机领域的技术非常强调基础,刚开始学习可 ...

  2. 阿里测试人员:8年经验分享自学软件测试学习路线

    越来越多的人加入了测试大军中,很多人也想通过自学来学习软件测试技术加入这个行业,但是现在软件测试的书籍越来越多,也良莠不齐,而且软件测试涉及的技术也越来越多.本文主要说明的是从事软件测试行业需要必备的 ...

  3. 自学mysql还是sql好_都说自学SQL数据库难,是真的吗?

    应该说任何编程语言自学都难 首先,自学属于粗放式学习 你没有目标性,对于所学的知识仅限于记住了,不知道未来这个知识点有什么用途.就像我最近在学Python ,一些比较基的知识点学了忘忘了继续学,连续几 ...

  4. MySQL学习笔记(三)查询

    写在前面:本篇为作者自学总结,学习内容为课堂所学和网络学习笔记汇总,对于内容引用部分在文中和文末注明. 文章仅供参考,如需深入了解,请查阅MySQL参考手册.附上下载链接: 链接:https://pa ...

  5. 前端自学的学习进程安排

    前端自学的学习进程安排 近年来,伴随着互联网的发展,对于互联网方面的人才需求量也大大增加,很多人想入门却不知道如何下手学习,于是面对很多的机会只能看着从眼前溜走,于是我给大家梳理一下学习前端的具体进程 ...

  6. mysql学习经验学习资料下载

    先给出我的核心观点:学习,无论你是学什么,也无论你有没有基础.思考永远是第一位的,有些知识你没接触过不要紧,用不着害怕,也没必要害怕.重要的是一秒钟也不要停止思考,问题要想透彻,正所谓磨刀不误砍柴工. ...

  7. 【mysql学习笔记整理】

    /*mysql学习笔记整理*/ /*常用的数据库操作对象*/ #库的操作 #创建 #数据库的创建 USE mysql; CREATE DATABASE db_x; #删除 #删除数据库 DROP DA ...

  8. 数据库MYSQL学习系列三

    数据库MYSQL学习系列三 三.MYSQL事务与存储引擎 3.1-数据库事务 什么是事务 一系列有序的数据库操作: o要么全部成功 o要么全部回退到操作前的状态 o中间状态对其他连接不可见 事务的 ...

  9. 我的MYSQL学习心得(十六) 优化

    原文:我的MYSQL学习心得(十六) 优化 我的MYSQL学习心得(十六) 优化 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看 ...

  10. 想要自学深度学习?不用GPU,浏览器就够了

    机器之心整理 参与:刘晓坤.思源 今天要介绍一个近期开源的自学深度学习 GitHub 项目,作者为每种具体算法提供了 Jupyter notebook 实现,可以轻易地在 Google Colab 上 ...

最新文章

  1. 【LeetCode每天一题】Generate Parentheses(创造有效的括弧)
  2. IT人士有哪些保健建议
  3. easyx 备忘录_记在iPhone备忘录里的便签信息安全吗 - 学显
  4. 【Javascript】 DOM节点
  5. 安卓APP_ 控件(7)——Toolbar栏目样式
  6. 致我们曾经白嫖的网站
  7. Python自学记录--steam密码加密逆向
  8. 64位win10下usb转485驱动
  9. 单项选择题标准化考试系统设计c语言版
  10. python安装旧版本、python历史版本下载
  11. matlab一维插值extrap,MSC Patran中基于Matlab插值函数的多场创建
  12. 2021徐州市36中学高考成绩查询,关注!徐州四星级高中高考成绩公布!江苏13市高分学霸真颜曝光!...
  13. Retina屏而被图处理
  14. 各利不同网站的盈利模式
  15. 一个接近90岁的维族老大爷用酒把我撂倒了
  16. web前端网页设计与制作:HTML+CSS旅游网页设计——桂林旅游(3页) web前端旅游风景网页设计与制作 div静态网页设计
  17. excel下拉让函数参数部分不变
  18. [Android开源]一个非常简单易用用来花式展示二维码样式生成的库QRCodeStyle
  19. 黑苹果Macos 恢复系统后按下允许扩展性内核构建之后无限重启无法开机解决办法之一
  20. python运算均值方差_Python 做大量组合的均值方差模型

热门文章

  1. 多个韵达快运的物流情况是怎么批量查询的
  2. 【大数据架构】-- 开源框架技术汇总
  3. ecos 自带的Microwindows中加入mwin的支持
  4. Json与Java对象的相互转换
  5. 使用Packstack工具一键安装OpenStack
  6. 嘉益仕(Litins)助力四川交通职院,打造综合实训基地智能车间
  7. 去小公司一定要慎重:上午拿offer,下午被辞退!
  8. 互联网晚报 | 商丘市回应商丘公交经营困难;海底捞客服回应禁止自带菜;iPhone 15或仍采用物理按键...
  9. 制度汇编格式怎么生成目录_内部市场化制度汇编目录1
  10. [转] 40个全球免费开放的电子图书馆(给能看懂英文的用)