数据库-基础
超超级钢铁侠
每天进步一点点
展开
-
MySQL"服务没有报告任何错误"的解决方法
今天装Windows10系统上装MySQL,出现提示”服务没有报告任何错误”, 这时只要输入命令:mysqld --initialize-insecure --user=mysql即可。 如图:原创 2016-08-19 18:04:36 · 305 阅读 · 0 评论 -
Redis笔记
//有效期设置SET resource:lock "Redis Demo"EXPIRE resource:lock 120TTL resource:lock => 113// after 113sTTL resource:lock => -2//list尾部插入RPUSH friends "Alice"RPUSH friends "Bob"//list头部插入LPUSH fr原创 2018-01-12 11:20:23 · 311 阅读 · 0 评论 -
MySQL中高级知识-MySQL架构介绍
对于MySQL5.6,在Linux上安装好之后把配置文件/usr/share/mysql/my-default.cnf 拷贝为/etc/my.cnf作为配置文件。log-bin为二进制日志文件,log-error默认是关闭的,记录严重的错诶和警告信息,查询日志log默认关闭,记录查询的SQL语句,如果开启会降低MySQL的整体性能。frm文件存放表结构,myd存放数据,myi文件存放索引。MySQL原创 2017-07-08 16:13:04 · 667 阅读 · 0 评论 -
在线分布式数据库原理
事务单元之间的处理事务的ACID要求事务需要满足原子性、一致性、隔离性和持久性。事务具有了隔离性,为什么要分几种隔离级别呢?也就是未提交读、已提交读、可重复读和可串行化?实际上事务的这几种隔离级别对应了多个事务执行时对并发的容忍度,比如在读写场景中, 对应着可串行化,这样做可以具有较高的隔离性,但是系统性能很低,可以把读并行化,读和写加上读写锁,这时隔离级别成为可重复读,系统性能进一步提高。原创 2017-07-08 01:21:37 · 799 阅读 · 0 评论 -
MySQL中高级知识-锁
有关MySQL锁的基础知识就不说了。总结来讲,读锁会阻塞写,但是不会阻塞读,而写锁会把读和写都阻塞。Myisam的读写锁调度是写优先,不适合主表引擎,偏读的时候才适用。InnoDB支持事务,采用了行级锁,可以实现更高的并发度。只有通过索引条件检索数据,InnoDB才使用行级锁,否则,InnoDB将使用表锁。原创 2017-07-14 14:41:52 · 347 阅读 · 0 评论 -
MySQL中高级知识-查询截取分析
工作中发现慢SQL执行情况产生怎么做呢? 开启慢查询日志,设置阈值;explain+慢SQL分析;show profile;进行SQL数据库服务器的参数调优;查询优化(1)小表驱动大表,小的数据集驱动大的数据集; 先看看in和exists的使用区别 如select * from A where id in (select id from B);看成for循环的话等价于for select i原创 2017-07-13 20:21:40 · 525 阅读 · 0 评论 -
MySQL中高级知识-索引优化
SQL语句性能下降的原因原因可能有以下几种: (1)SQL语句本身写得不够优秀 (2)索引失效 (3)关联(join)查询太多 (4)服务器参数设置(缓存,线程数等) ……SQL执行顺序人类写SQL和理解SQL的顺序大体是: SELECT DISTICT --> FROM ON (JOIN)-> WHERE -->GROUP BY --> HAVING --> ORDER BY -->原创 2017-07-08 17:36:07 · 745 阅读 · 0 评论 -
数据库练习题笔记
掌握知识最好的方法还是练习~ 以下可能有大量牛客网网站内容和牛客网用户的解析内容,侵删~1.关于数据库语句执行顺序原创 2017-04-09 11:14:24 · 458 阅读 · 0 评论 -
深入浅出MySQL(6)-常用数据存储引擎初探
1.MyisamMyisam为MySQL的默认存储引擎,不支持事务,也不支持外键,访问速度快。Myisam的表支持三种不同存储格式,静态表,动态表和压缩表。要注意静态表返回给应用之前末尾空格会丢失。如:mysql> insert into Myisam_char values('abcde'),('abcde '),(' abcde'),(' abcde ');Query OK, 4 ro原创 2017-02-26 20:56:25 · 341 阅读 · 0 评论 -
深入浅出MySQL(5)-基本数据类型
1.整型数据。 创建table t1,指定数值宽度为int和int(5):mysql> create table t1 (id1 int,id2 int(5));Query OK, 0 rows affected (0.31 sec)mysql> desc t1;+-------+---------+------+-----+---------+-------+| Field | Type原创 2016-10-01 21:52:52 · 321 阅读 · 0 评论 -
深入浅出MySQL(4)-子查询
在查询时,有时查询的条件是另一个select的结果,这时就需要使用子查询,子查询的关键字有in、not in、=、!=、exists、not exists等。mysql> select * from dept;+--------+----------+| deptno | deptname |+--------+----------+| 1 | tech ||原创 2016-10-01 21:25:42 · 306 阅读 · 0 评论 -
深入浅出MySQL(3)
1.distinct关键字可使得表中的记录去掉重复后显示出来:mysql> select * from emp;+------+--------+-------+------------+-----------+--------+| age1 | ename | birth | hiredate | sal | deptno |+------+--------+-------原创 2016-08-24 17:56:08 · 2657 阅读 · 0 评论 -
深入浅出MySQL(2)
1.插入记录的语法:INSERT INTO tablename(field1,field2,…….,fieldn)VALUES(value1,value2,……valuesn); 向emp中插入入一下记录:ename为zzx1,hiredate为2000-01-01,sal为2000,deptno为1:mysql> insert into emp(ename,hiredate,sal,deptno原创 2016-08-22 18:57:25 · 251 阅读 · 0 评论 -
深入浅出MySQL(1)
创建一个数据库test1:mysql> create database test1;Query OK, 1 row affected (0.03 sec)查询系统中有哪些数据库:mysql> show databases;+--------------------+| Database |+--------------------+| information_schem原创 2016-08-21 16:04:02 · 544 阅读 · 0 评论 -
MySQL入门
1.在命令行下输入 mysql -u root -p 按回车确认,进入本机的MySQL数据库。 2.MySQL基本命令: 3.创建一个数据库:mysql> create database Mydata character set gbk登录Mydata这个数据库:mysql -D samp_db -u root -p原创 2016-08-19 18:22:33 · 208 阅读 · 0 评论 -
ERROR 1366 (HY000):Incorrect string value(windows环境)
windows的默认编码为gbk,如果你在win下运行SQL文件时插入中文序列发现老是出现ERROR 1366 (HY000):Incorrect string value错误,并且更改编码方式为utf-8后仍然不能解决问题的话,尝试用Navicat来运行SQL吧。原创 2018-01-18 18:28:27 · 580 阅读 · 0 评论