安装环境: 操作系统版本:RHEL 6.5 安装版本:MYSQL 5.1 升级版本:MYSQL 5.6 一、简述MYSQL 1.什么是数据库? DB DataBase :数据库 依照某种数据模型进行组织并存放到存储器的数据集合 DBMS DataBase Manager System :数据库管理系统 用来操作和管理数据库的大型服务软件 DBS DataBase System :数据库系统 即DB+DBMS指带有数据库并整合了数据库管理软件的计算机系统 2.E-R数据模型 ? -1.el6.x86_64 2.2 启动服务 [root@svr5 ~]# /etc/init.d/mysqld start 2.3登陆mysql服务器,查询当前数据库 [root@svr5 ~]# mysql 需要注意的是这里的root用户不是Linux系统的root用户,而是mysql数据库的管理员root。
很好的链接 http://www.cnblogs.com/best/p/6517755.html 一个小时学会MySQL数据库 http://www.cnblogs.com/klguang/p/4746059 .html JDBC基本知识 http://blog.csdn.net/itluochen/article/details/52181560 Android开发之连接MySQL数据库(一) https (Android) 现在只是学习阶段.把自己学到的先记录下来,学的差不多了再把这篇文章整理成一篇文章,因为如果哪天学好了再去写的话担心会遗漏什么 不是给大家看的哈,别让没接触到数据库的童鞋吓到....以前没接触过数据库 其实最后会写一个esp8266连接MQTT,然后电脑也连接MQTT然后把8266的数据存到自己的电脑的MySQL数据库里面,然后呢手机访问电脑的MySQL数据库,然后把数据显示出来....一般现在的云端都是 这是一个名字为test的数据库 result = statement.executeQuery("select name from test"); 获取test数据库 name 标签下的数据 但是如果直接
提供包括云服务器,云数据库在内的90+款云计算产品。打造一站式的云产品试用服务,助力开发者和企业零门槛上云。
一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 统计函数中的字段,不能和普通的字段放在一起; 13、对数据库进行操作: 分离数据库: sp_detach_db;附加数据库:sp_attach_db 后接表明,附加需要完整的路径名 14.如何修改数据库的名称 否,使用下列默认设置(推荐) (5) [下一步] 设置分发数据库名称和位置 采用默认值(6) [下一步] 启用发布服务器 选择作为发布的服务器(7) [下一步] 选择需要发布的数据库和发布类型(8) 我们现在选第一个也就是默认的快照发布(其他两个大家可以去看看帮助)(4)单击[下一步]系统要求指定可以订阅该发布的数据库服务器类型,SQLSERVER允许在不同的数据库如 orACLE或ACCESS之间进行数据复制 ]->[订阅选项] 选择允许匿名请求订阅2)如果选择匿名订阅,则配置订阅服务器时不会出现以上提示(10)[下一步] 设置快照 代理程序调度(11)[下一步] 完成配置 当完成出版物的创建后创建出版物的数据库也就变成了一个共享数据库
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。 MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL 是开源的,目前隶属于 Oracle 旗下产品。 MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。 MySQL 使用标准的 SQL 数据语言形式。 MySQL 可以运行于多个系统上,并且支持多种语言。 MySQL 支持大型数据库,支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为8TB。 MySQL 是可以定制的,采用了 GPL 协议,你可以修改源码来开发自己的 MySQL 系统。
1.3 数据库设计 1.3.1 数据库设计的步骤 收集信息:与该系统有关人员进行交流、坐谈,充分理解数据库需要完成的任务 标识对象(实体-Entity):标识数据库要管理的关键对象或实体 标识每个实体的属性(Attribute) 标识对象之间的关系(Relationship) 将模型转换成数据库 规范化 1.3.2 例题 第一步:收集信息 BBS论坛的基本功能: 用户注册和登录,后台数据库需要存放用户的注册信息和在线状态信息; 用户发贴,后台数据库需要存放贴子相关信息,如贴子内容、标题等; 用户可以对发帖进行回复; 论坛版块管理:后台数据库需要存放各个版块信息 ,如版主、版块名称、贴子数等; 第二步:标识对象 实体一般是名词: 1、用户对象 2、板块对象 3、帖子对象 4、跟帖对象 第三步:标识每个实体的属性 ?
1.登入、登出数据库 #登入数据库 mysql -u"用户名" -p "密码" #查看当前时间 select now(); #登出数据库 quit; exit; ctrl + d 2.创建、查看、 选择、删除、修改数据库 创建数据库时,设置数据库的编码方式 CHARACTER SET:指定数据库采用的字符集,utf8不能写成utf-8 COLLATE:指定数据库字符集的排序规则,utf8的默认排序规则为 general_ci; #查看数据库 show databases(); #选择数据库 use 数据库名; #删除数据库 drop databases 数据库名; #修改数据库字符集 alter database 数据库名 default character set utf8 collate utf8_general_ci; #修改数据库名字 rename database 数据库名 to 新数据库名; 3.导入、导出数据库 #导入数据库 source /路径/xxx.sql; #导出数据库 mysql -uroot -p密码 数据库名<file.sql
在上节课中 我们了解了 几种数据库软件(mysql、sql server、Oracle …),我们来看一看数据库的分类 1.关系型数据库 Mysql、Sql server 、Oracle 、SqLite 三、数据库操作 1.显示当前的数据库 mysql> show databases; ? 2.创建数据库 mysql> create database [数据库名] ? ? 展示数据库与 创建数据库 在上一节课中我们已经具体的讲过了,我们重点来看 删除数据库 3.选中数据库/使用数据库 use [ 数据库名 ] 要想对数据库进行更具体的操作 (建表、查询、…)就需要先确定是针对那个数据库进行的 说明: 数据库删除后,内部看不到对应的数据库,里边的表和数据全部被删除. 我们对这个数据库进行简单的删除操作… 我们在这个数据库中新建了一个 rain7 的数据库 ? 下一篇~ Mysql 数据库(三)—— 表的增删查改(CRUD) 敬请期待~~ 谢谢欣赏! 未完待续…
1.7 函数 1.7.1 数字类 -- 获取随机数 mysql> select rand(); +------------------+ | rand() | +-------- - 四舍五入,向上取整,向下取整 mysql> select round(3.1415926,3) '四舍五入',truncate(3.14159,3) '截取数据',ceil(3.1) '向上取整', floor(3.9) '向下取整'; +----------+----------+----------+----------+ | 四舍五入 | 截取数据 | 向上取整 | 向下取整 | 4 | 3 | +----------+----------+----------+----------+ 1 row in set (0.04 sec) 注意: 截取数据直接截取 ----------+ 1 row in set (0.00 sec) 1.7.4 加密函数 1、md5() 2、sha() mysql> select md5('aa'); +------------
1.数据库my.cnf 配置 [root@localhost /]# cat /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib tmp_table_size = 246M max_heap_table_size = 246M #索引缓存大小: 它决定了数据库索引处理的速度,尤其是索引读的速度 key_buffer_size = 12 #提交事务后数据写入磁盘的时间点,设置为2可以对没有强烈的安全要求机制下,对速度提高很大 innodb_flush_log_at_trx_commit = 2 #批量插入数据缓存大小, .定时备份数据库 mysqldump -uroot -p"***" --events --ignore-table=mysql.events --all-databases -h 127.0.0.1 quit # /etc/init.d/mysql restart # mysql -uroot -p Enter password: <输入新设的密码newpassword> 注意,5.7版本数据库密码为
背景 通过操作 zabbix 后端MySQL数据库实现web前端的配置,并开启数据库的语句查询日志功能,记录 zabbix前端 web 操作对应后端数据库的查询语句以便熟悉数据库查询语句。 MySQL日志部分配置 #错误日志 log-error = /var/log/mariadb/mariadb.log #慢查询日志 slow_query_log = 1 slow_query_log_file 配置 egrep -v "*#|^$" /etc/my.cnf.d/server.cnf [server] [mysqld] datadir = /mariadb-data/mysql socket mysql.sock [galera] [embedded] [mariadb] [mariadb-10.3] 重启 mariadb 服务 systemctl restart mariadb 查看记录数据库查询日志是否开启 数据库查询模板的tag ? 主机id ? 数据库查询主机的tag ? 触发器id ? 数据库查询触发器的tag ?
MySQL数据库锁 锁的分类 按照对数据操作的类型(读/写)进行分类 对数据操作的粒度分类 表锁 锁表---读表 查看表上加过的锁 释放所有表锁 注意 锁表---写表 总结 如何分析表锁定 行锁 行锁演示 索引失效会导致行锁变成表锁 间隙锁 如何锁定某一行 行锁总结 优化建议 页锁 总结 ---- 锁的分类 按照对数据操作的类型(读/写)进行分类 读锁(共享锁): 针对同一份数据,多个读操作可以同时进行而不会相互影响 没有索引或者索引失效时,InnoDB 的行锁变表锁 原因:Mysql 的行锁是通过索引实现的! ---- 间隙锁 当我们用范围条件而不是相等条件检索数据,并请求共享或排他锁时,InnoDB(可重复读、串行化级别下才有效)会给符合条件的已有数据的索引项加锁;对于键值在条件范围内但并不存在的记录 -- 总结 Mysql数据库中的各种锁 ----
07.14自我总结 MYSQL数据库数据类型 一.整数类型和浮点数典型 1.有符号/没符号 对于整数和负整数来说,默认情况下是有符号范围的 默认是有符号 有符号和没符号其实就是有没有包括负数,有符号是包括负数的 设置成无符号: alter table 表名 变量名 数据类型 unsigned; 严格模式 非严格模式 有符号 (-,+) 超出范围会报错 (-,+) 超出范围取极值 无符号 (0,+) 超出范围会报错 (0,+) 超出范围取极值 2.严选/非严选 我们不推荐使用非严格模式下建立table,因为它会可能造成数据丢失的情况,所以我们必须在5.6版本中将mysql设置为严格模式。 严选情况下,数据超过他的设置范围他会报错 非严选情况下,数据超过他的设置范围不会报错,但是只存他设置大小的那一部分的数据,多余的会丢掉 3.常见的类型 1.整数型 数据类型 字节数 符号范围 有符号范围 会自动将字符串后面的空格删掉 所以你的数据在存储前应该先把空格处理掉 三.时间类型 year :格式YYYT data:格式YYYY-MM-DD time:格式HH:MM:SS datatime:格式
1.2 数据类型 MySQL中的数据类型是强类型 1.2.1 数值型 1、 整型 整形 占用字节数 范围 tinyint 1 -128~127 smallint 2 -32768~32767 mediumint 1.2.2 字符型 在数据库中没有字符串概念,只有字符,所以数据库中只能用单引号 数据类型 描述 char 定长字符,最大可以到255 varchar 可变长度字符,最大可以到65535 tinytext '); ERROR 1265 (01000): Data truncated for column 'sex' at row 1 枚举值是通过整形数字来管理的,第一个值是1,第二个值是2,以此类推,枚举值在数据库存储的是整形数字 MySQL不支持布尔型,true和false在数据库中对应的是1和0 mysql> create table stu18( -> flag boolean -> ); Query OK 1.2.6 练习题 电话号码一般使用什么数据类型存储? varchar 手机号码用什么数据类型 char 性别一般使用什么数据类型存储?
概述 MySQL主要包括五大数据类型: 数字、字符串、时间、其他。数据类型(data_type)是指系统中所允许的数据的类型。 MySQL数据类型定义了列中可以存储什么数据以及该数据怎样存储的规则。 数据库中的每个列都应该有适当的数据类型,用于限制或允许该列中存储的数据。例如,列中存储的为数字,则相应的数据类型应该为数值类型。 如果使用错误的数据类型可能会严重影响应用程序的功能和性能,所以在设计表时,应该特别重视数据列所用的数据类型。更改包含数据的列不是一件小事,这样做可能会导致数据丢失。 因此,在创建表时必须为每个列设置正确的数据类型和长度。 TEXT 0-65 535字节 长文本数据 MEDIUMBLOB 0-16 777 215字节 二进制形式的中等长度文本数据 MEDIUMTEXT 0-16 777 215字节 中等长度文本数据 LONGBLOB
概述 数据约束是可选参数,用于约束数据规范,用于保证数据的完整性和一致性。 类型 非空约束 not null,非空约束用于修饰字段不能为控制,不设置默认为null。 自增约束 auto_increment,自增涨约束字段会自动约束,自增字段不用设置列的数据,会自动生成一个自增的值。 外键约束 foreign key,外键约束用来建立主表与从表的关联关系,为两个表的数据建立连接,约束两个表中数据的一致性和完整性。
核心军规 尽量不在数据库做运算 控制单表数据量 纯INT不超过10M条,含Char不超过5M条 保持表身段苗条 平衡范式和冗余 拒绝大SQL,复杂事务,大批量任务 字段类军规 用好数值字段,尽量简化字段位数 把字符转化为数字 优先使用Enum或Set 避免使用Null字段 少用并拆封Text/Blob 不在数据库中存图片 索引类军规 谨慎合理添加索引 字符字段必须建立前缀索引? UTF8MB4 for by 可能还有人不知道,MySQL 数据库的字符集,要用 utf8mb4,而不是utf8。 因为MySQL的utf8不是真正的UTF-8,只支持最多三个字节的字符。真正的UTF-8可能会出现四个字节的字符。 MySQL 从来没有修复这个 Bug,而是使用另外的解决方法:真正的UTF-8字符集用 utf8mb4的名字提供。
MySQL数据库入门——备份数据库 一提到数据,大家神经都会很紧张,数据的类型有很多种,但是总归一点,数据很重要,非常重要,因此,日常的数据备份工作就成了运维工作的重点中的重点的重点.......... 首先来看看数据库中的数据 mysql> select * from test; +-----+------+ | id | name | +-----+------+ | 1 | 1 40111 SET SQL_NOTES=@OLD_SQL_NOTES */; -B参数的作用一目了然,就是当我们的数据库丢失时,可以直接用此备份文件进行恢复,无需再重新建库、建表,然后再进行数据恢复的操作 2、压缩备份 有时候,数据库的数据比较大,可能会用到压缩后进行备份,节省备份时间与磁盘空间的使用 [root@centos6 ~]# mysqldump -uroot -p -B test|gzip data of test's databses#### DB_NAME=`MYSQL -uDB_USER -p #定义数据库变量 for name in $DB_NAME #for循环语句取库名
Mysql 一、数据库是什么? 字面意思:存数据的仓库 二、为啥使用数据库? (*****) Excel的缺点: 1.管理不了大量的数据(10w量级以上的数据) 2.不能并发操作同一个数据表格 3.数据库支持一些高级的操作:分组,连表等 三、数据库的分类(*****) 1.关系型数据库 : 关系型数据库,把数据存在硬盘中 非关系型,把数据存在内存中(速度快) 四、数据库MySQL的架构 类似于socket的客户端和服务端 流程: 1.MySQL服务端先启动,监听在某一个特定的端口(3306 5 输入mysql回车,如果成功,将出现MySQL提示符 >。 连接权限数据库: use mysql; 。 database 数据库名称 charset utf8; 删 drop database 数据库名称; 改:先删除再添加,如果数据库有数据的话,直接drop会导致数据库中的数据丢失,在线上环境,不能够直接删除数据
Mysql 数据库(一)—— 初识 Mysql 本节内容大纲 ? 前一段时间 ,我们完成了 Java 集合与数据结构的学习 , 之后我们将进入 Mysql 数据库的课程中。 一、数据库 首先我们要学习的是数据库的知识,那么数据库 到底是什么呢? 同时我们在刚开始学习 数据库 的时候,也可能存在着一个困惑: 就是我们所学的数据结构 与 数据库有什么区别呢? Mysql 我们之后学习的重点主要是Mysql数据库的使用 SQLServer:微软搞得一个数据库. Redis…等其他的数据库软件 4.关于Mysql 我们在之后的学习里主要是熟悉 Mysql 数据库的各种使用及练习 有同学就问了: 为什么 我们不用SQLServer 进行练习呢? 下一篇~ Mysql 数据库(二)—— 数据库基础 敬请期待~~ 谢谢欣赏! 未完待续…
数据库 Mysql ? Mysql MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,后来被Sun公司收购,Sun公司后来又被Oracle公司收购,目前属于Oracle旗下产品 MySQL 软件采用了双授权政策 ,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库. Mongdb MongoDB 是一个基于分布式文件存储的NoSQL数据库. MongoDB由C++语言编写,运行稳定,性能高. Redis是一个开源(BSD许可)的、内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件.
腾讯云数据库MySQL是一种高性能、高可靠、高安全、可灵活伸缩的数据库托管服务,其不仅经济实惠,而且提供备份回档、监控、快速扩容、数据传输等数据库运维全套解决方案,为您简化 IT 运维工作,让您能更加专注于业务发展。
扫码关注云+社区
领取腾讯云代金券