![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 60
我能走到对岸吗
星辰和大海
展开
-
上硅谷mysql笔记基础视频03笔记
原则1 所选择的类型越简单越好,能保存数字的类型越小越好;2 较短的文本: char varchar(M)M:最多的字符数char:固定的长度;varchar:可变的长度;har:性能高:固定使用varchar:变化比较大;节省空间;binary:保存二进制;enum:枚举类型;日期类型date:保存日期没有时间datetime:和date相反;8字节;timestamp:时间戳;市区有影响;约束1一种限制,为了保证表中数据的准确和可靠性;2 防止重复;六大约束not原创 2021-10-10 19:38:40 · 145 阅读 · 0 评论 -
mysql冷门
1 SELECT@@tx_isolation; 查看mysql的默认隔离级别;2 select * from user where username=“silly” or ‘1’=‘1’ 注入攻击;1 insert ignore当出现主键或唯一索引重复之后,插入会失败,但不会报错,会忽略此次插入用法:#id为主键insert into user(id,name,age)values(1,"小华",21)#由于主键冲突,这个插入将会被忽略insert ignore into user(id,原创 2021-10-10 19:35:24 · 111 阅读 · 0 评论 -
mysql-lock笔记
1 并发下,锁表不好2 数据的备份,恢复不希望变动,加锁,双刃剑3 协调多个进程的一种机制,下单,抢购,加锁,对资源进行保护4 锁的分类:读和写,表和行锁,5 读是共享的不会相互影响的,屏幕共享,写是排他的,唯我独尊;6 表锁:开销小,加锁快7 show open tables:查看是否加锁;8 lock table a read,b write;9 unlock tables;10 lock table a read;读锁是共享的11 加了读锁是不可以修改的,自己也不可以修改12 自原创 2021-10-10 19:34:28 · 64 阅读 · 0 评论 -
上硅谷mysql笔记基础视频03笔记
原则1 所选择的类型越简单越好,能保存数字的类型越小越好;2 较短的文本: char varchar(M)M:最多的字符数char:固定的长度;varchar:可变的长度;har:性能高:固定使用varchar:变化比较大;节省空间;binary:保存二进制;enum:枚举类型;日期类型date:保存日期没有时间datetime:和date相反;8字节;timestamp:时间戳;市区有影响;约束1一种限制,为了保证表中数据的准确和可靠性;2 防止重复;六大约束not原创 2021-09-21 15:13:31 · 62 阅读 · 0 评论 -
项目中的mysql问题
1 UNIQUE KEY loginname (loginname)什么鬼??2 tinyint和布尔?MYSQL保存BOOLEAN值时用1代表TRUE,0代表FALSE,boolean在MySQL里的类型为tinyint(1),2 MySQL里有四个常量:true,false,TRUE,FALSE,它们分别代表1,0,1,0,3 true就是1,“true”放入map网数据库进行插入4 没有配置包的别名,要权限定类名...原创 2021-09-21 15:02:33 · 48 阅读 · 0 评论 -
Z--建表的规范
数据库的三泛式1 对属性的原子型约束,要求不可再分解,第二:对记录的唯一性约束,要求记录有唯一的标识,及实体的唯一性,第三:对字段冗余的约束,及任何的字段不能由其他字段派生而来,要求字段没有冗余!评价:冗余不一定有坏处,有的时候为了提高效率,必须降低泛是的标准:增加字段,运行冗余!主键的取值问题:尽量选用无意义的字符串,采用自增+1,也可以物理一样的字段名或者字段的组合,但是前者要远远的好于后者!当pk时字段名的组合的时候,组合的字段不宜太多,原因:多了索引占用的空间大,而且速度也慢;1 整数代原创 2021-09-12 23:49:24 · 83 阅读 · 0 评论 -
2019-索引
1 Mysql选用B+树这种数据结构作为索引,可以提高查询索引时的磁盘IO效率,并且可以提高范围查询的效率,并且B+树里的元素也是有序的。1. 什么是索引?“索引(在MySQL中也叫“键key”)是存储引擎快速找到记录的一种数据结构。”——《高性能MySQL》我们需要知道索引其实是一种数据结构,其功能是帮助我们快速匹配查找到需要的数据行,是数据库性能优化最常用的工具之一。其作用相当于超市里的导购员、书本里的目录。2. 索引类型可以使用SHOW INDEX FROM table_name;查看索引原创 2021-09-12 23:42:52 · 169 阅读 · 0 评论 -
2019-how2j
1 SELECT * from hero LIMIT 0,2–分页2 update hero set hp = 818 where id != 1–修改4 – 请用一条Sql语句查处分数大于80的学生SELECT DISTINCT NAME FROM test WHERE fenshu>80;5 过滤表中重复数据。SELECT DISTINCT * FROM exam;6 查找有五名及以上 student 的 class。sqlSELECTclassFROMcoursesGROU原创 2021-09-12 23:36:51 · 82 阅读 · 0 评论 -
2019-CMD-MySQL
1 mysql -u root -proot:连接cmd的服务器,记住-p紧接着密码!不要空格!2 遇到->的错如可以\c重新回退到之前的状态!3 show databases;:用于查看mysql服务器中的数据库情况(会罗列出mysql中的所有数据库的信息)use databses;:选择使用的默认数据库;show tables;:查看默认数据库中的表情况(罗列所有表信息)4 备份数据库信息:进入命令行:mysqldump -u root -p test > E:aa.sql 然后输原创 2021-09-12 23:33:47 · 54 阅读 · 0 评论 -
mysql常识
总结:1、在速度上,一般来说,drop> truncate > delete。2、在使用drop和truncate时一定要注意,虽然可以恢复,但为了减少麻烦,还是要慎重。3、如果想删除部分数据用delete,注意带上where子句,回滚段要足够大;如果想删除表,当然用drop;如果想保留表而将所有数据删除,如果和事务无关,用truncate即可;如果和事务有关,或者想触发trigger,还是用delete;如果是整理表内部的碎片,可以用truncate跟上reuse stroage原创 2021-09-12 23:33:03 · 44 阅读 · 0 评论 -
牛客网的JDBC总结
1 Statement 每次执行sql语句,数据库都要执行sql语句的编译 ,最好用于仅执行一次查询并返回结果的情形,效率高于PreparedStatement.2 PreparedStatement是预编译的,使用PreparedStatement有几个好处a. 在执行可变参数的一条SQL时,PreparedStatement比Statement的效率高,因为DBMS预编译一条SQL当然会比多次编译一条SQL的效率要高。b. 安全性好,有效防止Sql注入等问题。c. 对于多次重复执行的语句,使用原创 2021-09-12 23:31:41 · 60 阅读 · 0 评论 -
mybatis常见的坑
MyBatis中时间字段的使用–返回时间字段的返回目前笔者采用放回字符串的方式:date_format(update_time, ‘%Y-%c-%d %H:%i:%s’) updatetime对于的接口方法名称如下:… Date startTime, Date endTime…我想这个方法会比通过格式转换的效率要高一些MyBatis中时间字段的使用–写入写入可是直接写入Timestamp的数据,需要描述一些写入的jdbcType,如下:{installTime, jdbcType=TIMES原创 2021-07-04 16:48:26 · 424 阅读 · 0 评论 -
mysql bug总结
1 1 insert ignore 遇到错误忽略错误,继续执行,不回滚,2 不存在就插入,存在就更新,on duplicate key update ip=values(IP)原创 2021-06-20 23:10:19 · 115 阅读 · 0 评论 -
mybatis-遇到的坑总结
1 根据接口名字查询返回一条数据,如果数据库多条就报错!必须一条结果才会返回结果!2 resultMap:返回字典类型,resultype返回具体的封装类型!!!3 XX.xml文件的头部:"classpath:mybatis-3-mapper.dtd"要添加4 多了日期就报错???5 登录:根据用户名查出用户对象,输出密码和传入的密码比对!6 查看个人信息:登录–id封装在context区域里面;–流程是单独的流程!???7 mybatis:#{id}里面的参数不是任意的!必须是对应的!8原创 2021-06-20 23:09:03 · 401 阅读 · 0 评论 -
java开发低级的错误和核心的知识
1 单元测试的时候,显示:java.lang.Exception: No runnable methods自己没有添加@Test注解!!!2 log4j:日志级别:fatal,error,warn.info.debug,只会输出打印高于和等于级别的日志信息3 控制台不打印sql,配置文件中没有配置mybatis相关的信息4 自动生成test方法,借助intellij插件,等待完成…5 测试类的@Test方法修饰的方法不允许有参数!:ava.lang.Exception: Method userTes原创 2021-06-20 23:07:34 · 105 阅读 · 0 评论 -
mysql的一次优化
最近项目加入新的东西,表示开关类的东西,之前用的int表示的,在页面展示的时候要进行true和false转换,因为0和1优化不知到啥玩意啊改造后:tinyint表示开关,用逆向工具生成后是byte在entity,原来tinyint和byte都是一个字节,表示0-255不考虑负数的情况,直接用boolean类型与数据库的tinyint进行映射,false存储数据库为0,true存储数据库位1,避免...原创 2019-10-22 22:36:11 · 81 阅读 · 0 评论 -
mysql笔记002--入门
笛卡尔积结果为两表行数的乘机,可以加上条件;1 连接1 两表顺序没有关系:where a.id =b.id;------------------两表的交集;2 判断有奖金的员工 id和员工员工的部门,并且员工的薪水不为空;select empid,departid from employee e, depart d wheree.id=d.id and salary is not nu...原创 2019-07-08 23:12:00 · 109 阅读 · 0 评论 -
mysql笔记001--入门
1 show databases;显示所有的数据库–cmd命令;2 test自带数据库,用于测试;3 进入数据库 use test;4 显示表:show table;/show tables from db;5 查看数据库的版本:select version();mysql --version----dos命令;mysql -V;6 常见的命令:查看表:show tables;...原创 2019-07-08 23:09:36 · 125 阅读 · 0 评论