MySQL练习与小结】的更多相关文章

因为之前用过上述的组合完成过很多系统,而这一次是为了实现一个帮助系统的静态网页发布.因为很久不写,重点说遇到的几个坑: 1.库版本的问题 比如mysql连接数据库一直报错,因为系统重装过,所以重新安装了最新的Node和Mysql,结果死活连接不上,折腾了半天最后发现需要升级一个node-mysql,错误信息: Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'localhost' 参考链接:http://cnodejs.o…
当你专注一件事的时候,时间总是过得很快! foreign key 练习 -- 切换数据库 use stumgr -- 删除班级表 drop table t_class1 -- 创建一个班级表 create table t_class1 ( cno int auto_increment not null, cname ) not null, room ), primary key (cno) ); -- 查看班级表 desc t_class1 -- 添加班级数据 ),(),(); -- 查看班级表…
SQL分类: DDL-数据定义语言(CREATE,ALTER,DROP,DECLARE) DML-数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL-数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- 创建备份数据的 device U…
在 MySQL 中,有三种主要的类型:字符串.数字和日期/时间类型. 目录 [隐藏]  1 字符串类型 2 数值类型 3 日期和时间类型 4 使用建议 5 艺搜参考 字符串类型 CHAR 0-255字节 定长字符串 VARCHAR(size) 保存可变长度的字符串.在括号中指定字符串的最大长度.最多 255 个字符. TINYTEXT 存放最大长度为 255 个字符的字符串 TEXT 存放最大长度为 65,535 个字符的字符串. MEDIUMTEXT 存放最大长度为 16,777,215 个字…
一.常见数据库的优化操作 1.表的设计要符合三范式. 2.添加适当的索引,索引对查询速度影响很大,必须添加索引.主键索引,唯一索引,普通索引,全文索引 3.添加适当存储过程,触发器,事务等. 4.读写分离(主从数据库) 5.对sql语句的一些优化,(查询执行速度比较慢的sql语句) 6.分表分区 分表:把一张大表分成多张表.分区:把一张表里面的分配到不同的区域存储, 7.对mysql服务器硬件的升级操作. 二.适时提高效率 第一范式 原子性:表里面的字段不能再分割,只要是关系型数据库,就天然的自…
一 MySQL备份恢复总结: 1,备份所有库 2,分库备份 3,备份某库中的某表 4,备份某库中的多个表 5,分表备份 6,只备份表结构 7,只备份数据 二 MySQL备份恢复参数总结: -A 备份所有库 --compact 去注释,调试时候用 -B 指定所有库 增加建库语句和use语句 -F 刷新binlog日志 --master-data 增加binlog日志文件名及对应位置点 -x,--lock-all-tables 锁表 -l,--lock-tables -d 只备份表结构 -t 只备份…
原文: http://mp.weixin.qq.com/s?__biz=MzA4Nzg5Nzc5OA==&mid=206762682&idx=1&sn=1233ed1496d7fd059d247329f3d3a183&scene=1&key=c76941211a49ab587d35d0d840a84ff2e3948510bca7698783e134b95c3e8ad0a30d1f83897e9c764e289a1011c565db&ascene=0&…
方法1 备份 .sql" FROM 表名; 恢复 .sql" INTO TABLE 表名; 补充几个设置 1. FIELDS TERMINATED BY ',' #字段间隔符2. OPTIONALLY ENCLOSED BY '"' #字符串类型字段包围符3. LINES TERMINATED BY '\n' #换行符 于是备份命令改为 SELECT .sql" FIELDS TERMINATED BY ',' * OPTIONALLY ENCLOSED BY '&…
视图本身是一个虚拟表,不存放任何数据.在使用SQL语句访问视图的时候,它返回的数据是MySQL从其他表中生成的.视图和表在同一个命名空间, MySQL在很多地方对于视图和表是同样对待的.不过视图和表也有不同.例如,不能在视图上创建触发器,也不能用DROP TABLE命令删除视图. 视图的实现算法: 合并算法:merge 临时表算法:tmptable 可更新视图(updatable view):可以通过更新视图来更新视图涉及的相关表. 如果视图定义中包含了group by .union.聚合函数.…
1. false :0  true 1 切记 官方文档:http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html BOOL, BOOLEAN These types are synonyms for TINYINT(1). A value of zero is considered false. Nonzero values are considered true: mysql, 'true', 'false'); +--…
MySQL 通配符 SQL的模式匹配同意你使用"_"匹配不论什么单个字符,而"%"匹配随意数目字符(包含零个字符).在 MySQL中,SQL的模式缺省是忽略大写和小写的.以下显示一些样例. 注意在你使用SQL模式时,你不能使用=或!=:而使用LIKE或NOT LIKE比較操作符. 为了找出以"b"开头的名字: mysql> SELECT * FROM pet WHERE name LIKE "b%"; +--------…
1.数据库表设计的合理性 1)三范式 一范式:原子性,属性不可分: 二范式:无部分依赖, 例:(学号, 课程名称) → (姓名, 年龄, 成绩, 学分),存在部分依赖 (学号) → (姓名, 年龄) 拆分:(学号, 姓名, 年龄),(课程名称, 学分), (学号, 课程名称, 成绩), 三范式:无传递依赖, 例:(学号)→(姓名,年龄,性别,系别,系办地址.系办电话) 传递依赖: (学号)→ (系别)→(系办地点,系办电话) 再拆分... 2)逆范式: 相片表(相片id,名称,点击次数,所属相册…
前一段时间,在上一篇博文中描述了自己抽时间在构建的完全分布式Hadoop环境过程中遇到的一些问题以及构建成功后,通过Eclipse操作HDFS的时候遇到的一些问题,最近又想进一步学习学习Hadoop操作Mysql数据库的一些知识,在这里网上存在很多分歧,很多人可能会笑话,用那么“笨重”的Hadoop来操作数据库,脑子有问题吧,Hadoop的HDFS优势在于处理分布式文件系统,这种说法没有任何错误,数据库的操作讲究“安全.轻便.快捷”,用Hadoop操作完全是不符合常理啊,那为啥还要学习这个东西呢…
l  创建数据库:CREATE DATABASE table_name; l  删除数据库:DROP DATABASE table_name; l  展示数据库:SHOW DATABASE; l  选择数据库:USE table_name; 注意: 所有的数据库名,表名,表中的字段名称是区分大小写的.所以,我们必须使用适当的名称,再给定任何SQL命令. l  创建表:CREATE TABLE table_name (column_name column_type);        //colum…
1.命令行中键入 net start/stop mysql 开启/停止mysql服务2.命令行中键入 mysql -u用户名 -p密码 连接数据库 (以下命令后须加分号';')3.用show语句显示当前服务器上存在什么数据库:        show databases; 4.用create语句创建一个数据库:      create database 库名; 5.用use语句选择要使用的数据库:   use test; 6.用show语句查看有哪些表:               show t…
在mysql运维工作中,一般会使用tcpdump做一些分析(直接读分析日志比较难以看明白,在数据库连接值高时使用):对于mysql实时的连接监控分析,通常会使用"mysqladmin/show full processlist"查看,也可直接查询processlist表.但对于长时间监控连接数据库的应用IP.操作记录而言,MySQL Sniffer的出现,让人眼前一亮!有时候我们需要统计线上的SQL执行情况,比如想知道哪条SQL执行最频繁,我们可以开启general_log,然后进行统…
1 原理    MySQL查询缓存保存查询返回的完整结果.当查询命中该缓存,会立刻返回结果,跳过了解析,优化和执行阶段. 查询缓存会跟踪查询中涉及的每个表,如果这写表发生变化,那么和这个表相关的所有缓存都将失效. 但是随着服务器功能的强大,查询缓存也可能成为整个服务器的资源竞争单点.    2 初步设置    默认这个开关是关闭的,就是禁止使用query_cache,查询是否使用语句如下:   mysql> SHOW VARIABLES LIKE 'have_query_cache';     …
1.时间转换 时间戳转时间   FROM_UNIXTIME 比如  FROM_UNIXTIME(1449480551/1000,'%Y-%m-%d %H:%i:%s') 如果是精确到毫秒的时间戳,则必须除1000 比如  FROM_UNIXTIME(1449480551850/1000,'%Y-%m-%d %H:%i:%s') 如果时间格式不对,则会返回null 时间转时间戳 UNIX_TIMESTAMP select  UNIX_TIMESTAMP(  date('2015-10-25 18:…
一 MySQL备份恢复总结: 1,备份所有库 2,分库备份 3,备份某库中的某表 4,备份某库中的多个表 5,分表备份 6,只备份表结构 7,只备份数据 二 MySQL备份恢复参数总结: -A 备份所有库 --compact 去注释,调试时候用 -B 指定所有库 增加建库语句和use语句 -F 刷新binlog日志 --master-data 增加binlog日志文件名及对应位置点 -x,--lock-all-tables 锁表 -l,--lock-tables -d 只备份表结构 -t 只备份…
1,mysql到官方下载,navicat下载破解版 2,修改my.ini, 注意,需要手动创建data文件夹, 其中C:\MySql\mysql-5.7.17-winx64是解压mysql的目录 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=C:\MySql\mysql-5.7.17-winx64 # 设置mysql数据库的数据的…
数据库的学习可以从以下几个层次了解掌握,这样思路清晰后后面不管怎么变化都可以随时应变: 1.mysql基础知识 2.操作数据库的方法,增 删 改 查 3.jdbc连接数据库,工作原理 难点重点,如:PrepareStateMent接口操作sql语句,占位符(?和 :) 4.dao模式和数据库设计规范 对于数据库的具体学习内容可以随时百度或者参考前辈的文档:注意,参考时候只要看自己关注的问题点就可,不必每个都要搞清楚. Mysql常用命令和sql语句:http://blog.csdn.net/yl…
正确了解MySQL的字符集问题,能够从根本上解决乱码的困扰. 首先,MySQL的字符集问题主要是两个概念,一个是Character Sets,一个是Collations,前者是字符内容及编码,后者是对前者进行比较操作的一些规则.这两个参数集可以在数据库实例.单个数据库.表.列等四个级别指定. 对于使用者来说,一般推荐使用utf8编码来存储数据.而要解决乱码问题,不单单是MySQL数据的存储问题,还和用户的程序文件的编码方式.用户程序和MySQL数据库的连接方式都有关系. 首先,MySQL有默认的…
数据库授权登录[root@localhost ~]# mysql -uroot -p123456mysql> grant select,lock tables on auth.* to 'admin'@'192.168.30.24'identified by '123456';mysql> grant select,lock tables on client.* to 'admin'@'192.168.30.24' identified by '123456';mysql> flush…
基于语句级的复制 binlog=statement   优点: (1)binlog文件较小. (2)日志是包含用户执行的原始SQL,方便统计和审计. (3)出现最早可binlog.兼容较好. (4)binlog方便阅读,方便故障修复.   缺点: 存在安全隐患,可能导致主从不一致. 对一些系统函数不能准确复制或是不能复制:load file().uuid().user().found rows().sysdate().     基于行级的复制 binlog=row 优点: (1)相比statem…
1.   连接方式 1.1  方式1 /usr/local/mysql5./bin/mysql -p 此方法默认采用root@localhost用户登录, 1.2  方式2 /usr/local/mysql5./bin/mysql -uroot -p -S /app/data/mysql3307/tmp/mysql.sock 1.3  方式3 /usr/local/mysql5./bin/mysql -uroot -p -h 127.0.0.1 -P3307 此方式的用户和方式2的不同,如下 r…
数据库的五个概念 数据库服务器 数据库 数据表 数据字段 数据行 那么这里下面既是对上面几个概念进行基本的日常操作. 数据库引擎使用 这里仅仅只介绍常用的两种引擎,而InnoDB是从MySQL 5.6.版本以后InnoDB就是作为默认启动使用的存储引擎. (1) InnoDB a,支持ACID,简单地说就是支持事务完整性.一致性: b,支持行锁,以及类似ORACLE的一致性读,多用户并发: c,独有的聚集索引主键设计方式,可大幅提升并发读写性能: d,支持外键: e,支持崩溃数据自修复: Inn…
执行当前行,ctrl+enter 执行整篇sql脚本: ctrl+shift+enter 格式化sql语句(美化sql语句):ctrl+b 自动补全:ctrl+space(似乎win10中这个快捷键失效) 保存操作:ctrl+s (保存当前操作,将脚本文件存盘) 撤销操作:ctrl+z (返回上一步操作结果) 恢复操作:ctrl+y (恢复下一步操作结果) 注释/取消注释, ctrl+/ (当按下Ctrl键中的任意一个+ /(Num Pad中的“斜线按钮”)时适用于我的win10) 经确认这适用…
1.GTID的概念 GTID(global transaction identifier)是全局事务标识符,在MySQL5.6版本中作为一个超级特性被推出.事务标识不仅对于Master(起源)的服务器来说是惟一的,而且在整个复制拓扑架构来说,也是全局唯一的. 1)GTID的格式 GTID = source_id:transaction_id 其中source_id :通过使用MySQL服务的server_uuid来表示 ,transaction_id :是在事务提交的时候系统顺序分配的一个序列号…
摘自:https://www.cnblogs.com/protected/p/6526857.html 关于数据库的各种锁的总结: 1.共享锁(又称读锁).排它锁(又称写锁): InnoDB引擎的锁机制:InnoDB支持事务,支持行锁和表锁用的比较多,Myisam不支持事务,只支持表锁. 共享锁(S):允许一个事务去读一行,阻止其他事务获得相同数据集的排他锁.排他锁(X):允许获得排他锁的事务更新数据,阻止其他事务取得相同数据集的共享读锁和排他写锁.意向共享锁(IS):事务打算给数据行加行共享锁…
本文主要是对目前工作中使用到的DB相关知识点的总结,应用开发了解到以下深度基本足以应对日常需求,再深入下去更偏向于DB本身的理论.调优和运维实践. 不在本文重点关注讨论的内容(可能会提到一些): 具体的DQL.DML.DDL.DCL等语法 基础性的概念,如主键.索引.存储过程(注:阿里巴巴规范中禁止使用存储过程)等 联合查询,我个人不太喜欢在应用中写过于复杂的SQL,性能和后续维护容易出现问题 可能会用到的具体DB特性,如oracle的DATA GUARD 有一些属于基础知识或语法但是常用的信息…