#什么是数据

用来描述事物的符号记录。可以是数字、文字、图形等,有多种形式,经过数字化之后存入计算机

#什么是数据库

数据库(Database)就是一个用来存放数据库的仓库,是按照一定的数据结构来组织、存储的

#什么是数据库管理系统

是用于管理数据库的软件

#数据库服务器、数据库管理系统、数据库、表、记录之间的关系

#数据库服务器相当于一台计算机,数据库管理系统相当于计算机里的一个软件,数据库相当于一个文件夹,表相当于文件夹中的文件,记录相当于文件中的内容

#数据库的种类

  早期:分为层次式数据库、网络式数据库、关系型数据库

  现今:分为关系型数据库和非关系型数据库

#关系型数据库介绍

  .类似于excel表格

  .关系型数据库使用结构化语言查询,sql语句来对数据进行存储

  .代表作:mysql和Oracle

#关系型数据库产品

  .Oracle

  .MySQL

  .mariaDB
    是MySQL的一个分支,名称来自MySQL创始人Michael Widenius的女儿Maria的名字   .SQL server
    微软公司开发的大型关系型数据库系统, 只能在window系统下运行
  .Access数据库     入门级小型桌面数据库
  .其他:DB2等

#非关系型数据库介绍

  非关系型数据库也称为NoSQL数据库(Not Only SQL)

  产生的背景:为了解决web2.0,web3.0时代高并发,高吞吐量的需求,产生了非关系型数据库

  扩展:web2.:指的是以用户为主体,上传文件发布博文等

#种类

  .键值(key-value)存储数据库
    典型产品:memcached、redis
  .列存储(column-oriented)数据库
    典型产品:Cassandra,HBase
  .面向文档(Document-oriented)数据库
    典型产品:MongoDB、CouchDB
  .图形(graph)数据库

#常用非关系型数据库产品

  .Memcached
    是一个开源的、支持高性能的分布式内存缓存系统
  .redis
    基于key-value(键值)型的存储
  .MongoDB
    是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统

#MySQL概述

 MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司

#MySQL特点

  .安装简单

  .历史悠久,社区及用户活跃

  .支持多种操作系统

  .性能卓越,服务稳定

  .支持多种存储引擎

#MySQL分类

  MySQL采用双授权政策,分为社区版和商业版,然后又分为四个小版本:Alpha版、Beta版、RC版和GA版本

#MySQL商业版和社区版区别

  .商业版比社区版稳定

  .商业版有技术支持等服务,社区版只能靠社区提供

#MySQL版本

#如:mysql-5.7..tar.gz

#第一个数字5:主版本号

#第二数字7:发行级别,与主版本组合构成发行序列号

#第三个数字29:发行系列的版本号

#查看版本

mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7. |
+-----------+
row in set (0.00 sec)

#SQL语言介绍

SQL,英文全称structured query language,中文意思为结构化语言查询,是一种对关系型数据库中的数据进行定义和操作的语言方法

#SQL的分类

一:数据查询语言(DQL)

 DQL全称data query language,称为数据检索语句,作用是从表中获得数据

#例子:查看用户

mysql> select user,host from mysql.user;
+---------------+-----------------------+
| user | host |
+---------------+-----------------------+
| root | localhost |
| test2 | 1.1..% |
| test | localhost |
+---------------+-----------------------+
rows in set (0.00 sec)

二:数据操纵语言(DML)

  DML全称data Manipulation language,其语句包括insert,update,delete,分别用于添加、修改和删除表中数据

#例子:删除用户

mysql> delete from mysql.user where user='test';
Query OK, row affected (0.02 sec)

三:事务处理语言(TPL)

  语句能够确保被DML语句影响的表的所有行及时得以更新

四:数据控制语言(DCL)

  DCL全称data control language,其语句通过grant或revoke获得许可

五:数据定义语言(DDL)

  DDL全称data definition language,其语句包括create和drop,在数据库中创建和删除库表

六:指针控制语言(CCL)

  CCL全称cursor  control language,语句像declare cursor,fetch into和update where current用于对一个或多个表单独行的操作

#安装MySQL

#一.Linux安装

#.yum/rpm方式安装
#.常规方式编译安装
#.采用cmake方式编译安装
#.采用二进制方式免编译安装

#下面使用rpm方式安装mysql.5.7

wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
rpm -qpl mysql57-community-release-el7-.noarch.rpm #查看下载的rpm包
rpm -ivh mysql57-community-release-el7-.noarch.rpm #安装rpm包
yum install mysql-community-server -y #安装mysql

#提示:mysql5.7之后安装完会为root用户随机生成一个密码,如果使用rpm包,则使用grep "password" /var/log/myqld.log获取

#1.安装完服务是没有启动,所以先要启动服务
[root@db01 ~]#systemctl start mysqld #2.获取随机密码
[root@db01 ~]# grep "password" /var/log/mysqld.log
--31T02::.106896Z [Note] A temporary password is generated for root@localhost: 0Hl;Ir.keo!;
mysql> select @@log_error;
+---------------------+
| @@log_error |
+---------------------+
| /var/log/mysqld.log |
+---------------------+
row in set (0.00 sec)
#3.设置密码复杂度,也可以在/etc/my.cnf里面设置validate_password_policy=LOW
mysql> set global validate_password_policy=LOW;
Query OK, rows affected (0.00 sec)

#4.修改密码,或者使用update修改,用户管理篇会详解
mysql> set password for root@localhost = password("guoke123");
Query OK, rows affected, warning (0.00 sec) mysql> flush privileges;
Query OK, rows affected (0.00 sec)

#二、Windows安装

#登录方法

.mysql #直接输入mysql不用密码登录
.mysql -uroot -p #标准的登录密码
.mysql -uroot -p"guoke123" #如果不在脚本中建议不要使用,明文易暴露

#登录后提示符

#默认为:mysql>,为了让更好的区分是哪个用户或主机登录,可以使用如下方法

#1.临时更改

mysql> prompt \u@mysql \r:\n:\s->
PROMPT set to '\u@mysql \r:\n:\s->'
root@mysql :->

#2.永久生效

#进入/etc/my.cnf配置添加mysql模块,注意不是在[mysqld]里,如果在my.cnf配置文件中添加,可以使用\\避免转义带来的问题

#.配置mysql模块
[root@cots3 ~]# vim /etc/my.cnf
[mysql]
prompt=\\u@mysql :\\d\\r:\\m:\\s-> #.重启服务
[root@cots3 ~]# systemctl restart mysqld #.登录查看
[root@cots3 ~]# mysql -uroot -p
Enter password:
root@mysql :(none)::->use db; #进入库
Database changed root@mysql :db09::-> #就会更改为db库

#常用参数介绍

# -u:用户名,-d:数据库名,\r:\m:\s 设置时间

#prompt参数详解

    Option  Description
\c  A counter that increments for each statement you issue
每个语句递增的计数器
\D  The full current date
当前的完整日期
\d The default database
默认数据库
\h The server host
服务器主机
\l The current delimiter (new in 5.1.)
当前分隔符
\m  Minutes of the current time
当前时间的分钟数
\n  A newline character
换行符
\O  The current month in three-letter format (Jan, Feb, …)
当前月份采用三字母格式
\o  The current month in numeric format
数字格式的当前月份
\P  am/pm
\p The current TCP/IP port or socket file
当前的tcp/ip端口或套接字文件
\R  The current time, in -hour military time (–)
当前时间,24小时军事时间(-)
\r  The current time, standard -hour time (–)
当前时间,标准12小时制
\S  Semicolon
分号
\s  Seconds of the current time
当前时间的秒数
\t  A tab character
标签字符
\U   www.jb51.net 
Your full user_name@host_name account name
完整user_name@host_name 账户名称
\u Your user name
你的用户名
\v  The server version
服务器版本
\w  The current day of the week in three-letter format (Mon, Tue, …)
三个字母格式的星期几
\Y  The current year, four digits
当年,四位数
\y  The current year, two digits
当前年份,二位数
\_  A space
空间
\   A space (a space follows the backslash)
一个空格
\'  Single quote
单引号 \"  Double quote
双重报价
\\  A literal “\” backslash character \\文字“\”反斜杠字符
\x 
x, for any “x” not listed above
x,对于上面未列出的任何“x”

数据库及MySQL概述的更多相关文章

  1. 数据库 之MySQL 简单教程

      So Easy系列之MySQL数据库教程 1.   数据库概述 1.1.  数据库概述 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和 ...

  2. 【MySQL 数据库】MySQL目录

    目录 [第一章]MySQL数据概述 [第二章]MySQL数据库基于Centos7.3-部署 [MySQL解惑笔记]Centos7下卸载彻底MySQL数据库 [MySQL解惑笔记]忘记MySQL数据库密 ...

  3. MySQL 概述和基础

    # MySQL 概述 什么是数据库 存储数据的仓库 都有哪些公司在用数据库 金融机构.游戏网站.购物网站.论坛网站-- 提供数据库服务的软件 MySQL.Oracle.SQL Server.DB2.M ...

  4. 数据库及MYSQL基础(2)

    数据库及MySQL基础(1) SQL进阶及查询练习 1,单表的查询练习 SELECT * FROM emp WHERE deptno=30; SELECT ename,empno,deptno FRO ...

  5. MySql概述及入门(五)

    MySql概述及入门(五) MySQL集群搭建之读写分离 读写分离的理解 为解决单数据库节点在高并发.高压力情况下出现的性能瓶颈问题,读写分离的特性包括会话不开启事务,读语句直接发送到 salve 执 ...

  6. MySQL概述及入门(四)

    MySql概述及入门(四) 什么是MySQL的锁? 数据库锁定机制,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则,简单说,就是不让别人动 总的来说,MySQL各 ...

  7. MySQL概述及入门(三)

    MySql概述及入门(三) MySQL性能优化 主要优化安全和性能方面 安全方面 : 数据可持续性 性能方面 : 数据的高性能访问 性能优化——慢查询 在MySQL数据库中有一个慢查询日志功能,去获取 ...

  8. MySQL概述及入门(二)

    MySql概述及入门(二) MySQL架构 逻辑架构图: 执行流程图: MySQL的存储引擎 查询数据库支持的存储引擎 执行: show engines: 多存储引擎是mysql有别于其他数据库的一大 ...

  9. MySQL概述及入门(一)

    MySql概述及入门(一) 什么是MySQL?    MySQL是当今主流的关系型数据库管理系统(记录是有行有列的数据库) , 可以与Oracle 和SQL Server 竞争 , 是最好RDBMS( ...

随机推荐

  1. istio介绍

    核心架构 解决的问题 故障排查 1.  这个请求在哪里失败了?A有调用B吗? 2.  为什么用户的请求/页面hung住了? 3.  为什么系统这么慢?那个组件最慢? 应用容错性 1.  客户端没有配置 ...

  2. sql 坐标距离排序计算距离(转)

    如果两个坐标的列是(x1,y1).(x2,y2),那么他们之间的距离:SQRT((X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2)) sql排序 SELECT * FROM m_store ...

  3. Docker系列五: docker-compose部署Docker容器

    Docker使用Dockerfile来实现对现有镜像的修改来创建新的镜像, 那docker-compose则完成镜像的自动部署, 可以实现多个容器同时部署 Dockerfile可以让用户管理一个单独的 ...

  4. ORs-2-Genome Coverage and the OR Subgenome

    Genome Coverage and the OR Subgenome 因为: 爬行类动物的的gene numbers比较大,而birds 的 gene numbers 处于(182-688) 其中 ...

  5. linux上部署jenkins

    http://www.pianshen.com/article/1133171043/相关jenkins链接 下载jenkins的war包:https://blog.csdn.net/Aaron_Zh ...

  6. iOS动画效果合集、飞吧企鹅游戏、换肤方案、画板、文字效果等源码

    iOS精选源码 动画知识运用及常见动画效果收集 3D卡片拖拽卡片叠加卡片 iFIERO - FLYING PENGUIN 飞吧企鹅SpriteKit游戏(源码) Swift封装的空数据提醒界面Empt ...

  7. 无标定量|有标定量|谱图计数|XIC|AMT数据库|RT对对齐|母离子|子离子|SILVER|SRM|iBAQ|APEX|差异蛋白筛选|MaxQuant|PANDA|C-HPP

    生物医学大数据-蛋白质定量 现今肽段定量效率存在巨大差异.比如相同质量蛋白质,但是肽段和蛋白信号不均一,在物理条件一致时,仅有70%的重复率,并且当重复次数变多时,overlapping在变少. 无标 ...

  8. win10安装inventor失败,怎么强力卸载删除注册表并重新安装

    一些搞设计的朋友在win10系统下安装inventor失败或提示已安装,也有时候想重新安装inventor的时候会出现本电脑windows系统已安装inventor,你要是不留意直接安装invento ...

  9. Painter

    时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 杂货店出售一种由N(3<=N<=12)种不同颜色的颜料,每种一瓶(50ML),组成的颜料套装. 你现在需要使用这 ...

  10. 题解:BZOJ 1009 HNOI2008 GT考试 KMP + 矩阵

    原题描述: 阿申准备报名参加GT考试,准考证号为N位数 X1X2....Xn(0<=Xi<=9),他不希望准考证号上出现不吉利的数字.他的不吉利数学A1A2...Am(0<=Ai&a ...