---------------------------------------------确定目标,认准目标,前进,克服困难,前进,克服困难,前进克服困难,前进.

# # ------------------------------------------------------------------------------------------------------------#

为什么要使用数据库:海量存储高速查询
1.登录与服务:
登录: mysql -uroot -proot (登录本机 mysql 服务器 )
mysql -uroot -proot -h 192.168.10.1 ( 登录 ip 为 192.168.10.1 的 mysql 服务器 )
退出: exit \q quit Ctrl+c
服务:
net stop mysql 停止 mysql 服务
net start mysql 启动 mysql 服务
net restart mysql 重启 mysql 服务
C:> 注意最后没有封号。
2:mysql编码:
set names gbk|utf8 :临时编码设置,当再次进入 mysql 中的时候将再次转变为默认编码:
status; \s :查看编码
show variables like 'charac%' :查看编码
Server characterset: utf8 服务器编码
Db characterset: utf8 当前数据库编码
Client characterset: utf8 客户编码
Conn. characterset: utf8 客户连接编码
character_set_client | utf8 客户编码
character_set_connection | utf8 连接编码
character_set_database | utf8 当前数据库编码
character_set_results | utf8 结果集
character_set_server | utf8 服务器
character_set_system | utf8 系统
3.database 操作:
1 查看和切换:
显示当前所有数据为名称: show databases; show schemas();
查看当前使用的数据库: select database();
切换或进入当前数据库: use db_name;
2 创建: create database|schema [if not exists] db_name [default] character set [=] ' 字符集 ';
查看: show create database db_name;
删除: drop database db_name
4.data 类型
数值
tinyint 1 个字节 有符号: -128 到 127 ,无符号: 0-255
smallint 2 个字节 3.27w 正负
mediumint 3 个字节 3000w
int 4 个字节 21 亿正负
int 和 int(5) 都是 4 个字节 21 亿正负,基本无区别。
bigint 8 个字节
总结, int(M) zerofill ,加上 zerofill 后 M 才表现出有点点效果,比如 int(3) zerofill, 你插入到数据库里的
是 10,则实际插入为 010,也就是在前面补充加了一个 0.如果 int(3)和 int(10) 不加 zerofill, 则它们没有什 么
区别.M不是用来限制 int 个数的. int(M) 的最大值和最小值与 undesigned 有关,如下图:
mysql> create table t (t int(3) zerofill);
mysql> insert into t set t = 10;
mysql> select * from t;
+——+
| t |
+——+
| 010 |
+——+
mysql> create table t (t int zerofill);
mysql> insert into t set t = 10;
mysql> select * from t;
+————+
| t |
+————+
| 0000000010 |
+————+
mysql> create table t (t int);
mysql> insert into t set t = 10;
mysql> select * from t;
+——+
| t |
+——+
| 10 |
+——+
其实当我们在选择使用 int 的类型的时候,不论是 int(3)还是 int(11) ,它在数据库里面存储的都是 4 个
字节的长度,在使用 int(3)的时候如果你输入的是 10,会默认给你存储位 010,也就是说这个 3 代表的
是默认的一个长度,当你不足 3 位时,会帮你补全,当你超过 3 位时,就没有任何的影响。他们之间
除了在存储的时候稍微有点区别外,在我们使用的时候是没有任何区别的。 int(10) 也可以代表
2147483647 这个 值 int(11)也可以代表。要查看出不同效果记得在创建类型的时候加 zerofill 这个值,
表示用 0 填充,否则看不出效果的。我 们通常在创建数据库的时候都不会加入这个选项,所以可以
说他们之间是没有区别的。

[结构化数据化]

结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,
是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,
也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。
结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
1986年10月,美国国家标准协会对SQL进行规范后,以此作为关系式数据库管理系统的标准语言(ANSI X3. 135-1986),
1987年得到国际标准组织的支持下成为国际标准。不过各种通行的数据库系统在其实践过程中都对SQL规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用. [常用的关系型数据库]:
 2.1.1  oracle数据库

        Oracle前身叫SDL、由Larry Ellison和两个变成任意在1977创办,他们开发了主机的拳头产品,在市场上大量销售。Oracle公司是最早开发关系型数据库的厂商之一,其产品支持最广泛的操作系统平台。目前Oracle关系数据库产品的市场占有率数一数二 。
        Oracle公司是目前全球最大的数据库软件公司,也是近年业务增长极为迅速的软件提供与服务商
        主要应用范围:传统大企业、大公司、政府、金融、证券等。
        版本升级:oracle8i,oracle9i,oracle10g,oracle11g,oracle12c       2.1.2 MySQL         MySQL被广泛的应用在Internet上的大中小型网站中。由于体积小、速度快、总体拥有成本低,开放源代码       2.1.3 MariaDB数据库         MAriaDB数据库管理系统是MySQL数据库的一个分支,主要由开元社区维护,采用GPL授权许可。开发这个MariaDB的原因之一是:甲骨文公司收购了MySQL后,有MySQL闭源的潜在风险,因此MySQL开元社区采用分支的方式来避开这个风险。         MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM的存储引擎,它使用了Percona的XtraDB(InnoDB的变体)这个版本还包括了PrimeBase XT (PBXT)和Federated X存储引擎。       2.1.4 SQL Server数据库       Microsoft SQL Server是微软公司开发的大型关系数据库系统。SQL Server的功能比较全面,效率高,可以作为中型企业或单位的数据库平台。SQL Server可以与Winodws操作系统紧密集成,不论是应用程序开发速度还是系统事务处理运行速度,都得到较大的提升,对于在Windows平台上开发的各种企业级信息管理系统来说,不论是C/S(客户机/服务器)架构还是B/S(浏览器/服务器)架构。SQL Server都是一个很好的选择。SQL Server的缺点是只能在Windows系统下运行       2.1.5 Access数据库         Access是入门级小型桌面数据库,性能安全性都很一般,可供个人管理或小型企业只用
        Access不是数据库语言,只是一个数据库程序,目前最新版本为Office 2007,其特点主要如下:
        (1)完善地管理各种数据库对象,具有强大的数据组织,用户管理、安全检查等功能
        (2)强大的数据处理功能,在一个工作组级别的网络环境中,使用Access开发的多用户管理系统具有传统的XSASE(DBASE、FoxBASE的统称)数据库系统所无法实现的客户服务器(Ckient/Server)结构和响应的数据库安全机制,Access具备了许多先进的大型数据管理管理系统所具备的特征。
        (3)可以方便地生成各种数据对象,利用存储的数据建立窗体和报表
        (4)作为Office套件的一部分,可以与Office集成,实现无缝连接
        (5)能够利用Web检索和发布数据,实现与Internet的连接,Access主要适用于中小企业应用系统,或作为客户机/服务器系统中的客户端数据库。       2.1.6 其他不常用关系型数据库         DB2,PostgreSQL,Informix,Sybase等。这些关系型数据库逐步的淡化了普通运维的实现,特别是互联网公司几乎见不到

  2.2 非关系型数据库  

    非关系型数据库也被成为NoSQL数据库,NOSQL的本意是“Not Olnly SQL” 
    指的是非关系型数据库,而不是“No SQL”的意思,因此,NoSQL的产生并不是要彻底地否定关系型数据库,而是作为传统关系型数据库的一个有效补充。NOSQL数据库在特定的场景下可以发挥出难以想象的高效率和高性能。

    随着互联网Web2.0网站的星期,传统的关系型数据库在应付web2,0网站,特别是对于规模日益扩大的海量数据,超大规模和高并发的微博、微信、SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题。

    例如:传统的关系型数据库IO瓶颈、性能瓶颈都难以有效突破,于是出现了大批针对特定场景,以高性能和使用便利为目的功能特异化的数据库产品。NOSQL(非关系型)类的数据就是在这样的情景下诞生并得到了非常迅速的发展

    高性能、高并发、对数据一致性要求不高 
    开源的NoSQL体系,如Facebook的Cassandra,Apache的HBase,也得到了广泛认同,Redis,mongb也逐渐越来越受到各类大中小型公司的欢迎和追捧

    NOSQL非关系型数据库小结: 
    1、NOSQL不是否定关系数据库,而是作为关系数据库的一个重要补充 
    2、NOSQL为了高性能、高并发而生,忽略影响高性能,高并发的功能 
    3、NOSQL典型产品memcached (纯内存),redis(持久化缓存),mongodb(文档的数据库)

    

    非关系型数据库又分为以下4种

(1)键值(Key-Value)存储数据库

        键值数据库就类似传统语言中使用哈希表,可以通过key来添加、查询或删除数据,因为使用key主键访问,所以会获得很高的性能及扩展性
键值(Key-Value)数据库主要是使用一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单、易部署、高并发
k1—>数据
k2—>数据
典型产品:Memcached、Redis、MemcacheDB、BerkeleyDB (2)列存储(Column-oriedted)数据库 ======>了解即可,一般公司用不到
这部分数据库通常用来分布式存储的海量数据,键仍然存在,但是他们的特点是指向了多个列。
典型产品:Cassandra,HBase (3)面向文档(Document-Oriented)数据库
面向文档数据库会将以文档的形式存储。每个文档都是自包含的数据单元,是一系列数据项的集合。每个数据项都有一个名称与对应的值,值既可以是简单的数据类型,如字符串、数字和日期等;也可以是复杂的类型,如有序列表和关系对象。数据存储的最小单位是文档,同一个表中存储的文档属性可以是不同的,数据可以使用XML、JSON或者JSONB等多种形式存储
典型产品:MorgoDB、CouchDB (4)图形(Graph)数据库
 

MySQL 数据库 初识的更多相关文章

  1. {MySQL数据库初识}一 数据库概述 二 MySQL介绍 三 MySQL的下载安装、简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 初识sql语句

    MySQL数据库初识 MySQL数据库 本节目录 一 数据库概述 二 MySQL介绍 三 MySQL的下载安装.简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 ...

  2. 3 MySQL数据库--初识sql语句

    1.初识sql语句 服务端软件 mysqld SQL语句:后面的分号mysql -uroot -p123 操作文件夹(库) 增 create database db1 charset utf8; 查 ...

  3. MySQL数据库初识(一)

    MySQL是一种免费的小型关系型数据库,与Linux.Apache/Nginx.PHP一起组成了WEB开发的黄金搭档. MySQL是C/S(客户端/服务端)体系结构的软件,而在开发中,PHP承担起了客 ...

  4. MySQL 数据库初识

    一.数据库概述 (详情参考:https://www.cnblogs.com/clschao/articles/9907529.html) 1.概念:存储数据,共享数据 数据库,简而言之可视为电子化的文 ...

  5. MySQL数据库初识——初窥MySQL

    初步了解MySQL基本数据库语言 1.创建一个Mysql数据库 create database  database_name: 2.显示所有的Mysql数据库 show databases: 3.使用 ...

  6. 01 Mysql数据库初识

    一.数据库概述 1.什么是数据库? 什么是数据库呢? 先来看看百度怎么说的 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增.截取.更新.删除等操作. 所谓“ ...

  7. python之路--MySQL数据库初识

    一 . MySQL安装 # 下载MySQL地址 https://dev.mysql.com/downloads # 要选稳定的,不要选最新的,稳定的就是半年以上没有出现过bug 现在5.6.43为绝大 ...

  8. MySQL数据库初识

    认识数据库 1 什么是数据(Data) 描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字.图片,图像.声音.语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机 在计算机中 ...

  9. MySQL数据库初识(二)

    8. 向数据表中插入数据记录(INSERT): 向数据表中插入数据记录有两种方法: 基本语法1:INSERT INTO 数据表 (字段名1,字段名2,字段名3……字段名n) VALUES (数据值1, ...

随机推荐

  1. JHipster技术栈理解 - UAA原理分析

    本文简要分析了UAA的认证机制和部分源码功能. UAA全称User Account and Authentication. 相关源码都是通过Jhipster生成,包括UAA,Gateway,Ident ...

  2. jquery hover事件只触发一次动画

    最近工作时遇到个关于动画的问题,如下: $("div").hover( function() { $(this).animate({"margin-top":& ...

  3. 修正Percona Monitoring Plugins for Zabbix的一处脚本Bug

    今天小试了一把Percona Monitoring Plugins for Zabbix模板,自己辛辛苦苦写的那一大堆Python脚本,貌似用这个模板全都覆盖到了.但是,我也发现最新的版本percon ...

  4. 内核线程的进程描述符task_struct中的mm和active_mm

    task_struct进程描述符中包含两个跟进程地址空间相关的字段mm, active_mm, struct task_struct { // ... struct mm_struct *mm; st ...

  5. lua时间戳和日期转换及踩坑

    介绍lua的日期函数常用方法及我的一个踩坑. 时间戳转日期 os.date("%Y%m%d%H",unixtime) --os.date("%Y%m%d%H", ...

  6. mysql建表基本语法

    mysql添加约束的两种条件: ------表的内部添加(约束) 列名1 数据类型 (int) primary key auto_increment,---主键默认不能为空的 列名2 数据类型 not ...

  7. 【PAT】B1010 一元多项式求导

    这道题的用例中没有负数 在输入时就进行结果的计算,忽略常数项, 顺序输出 #include<cstdio> #include<vector> using namespace s ...

  8. 线程--继承Thread

    首先继承Thread类,然后重写Thread类的run()方法. Thread类的子类的对象调用start()方法,然后虚拟机就会调用该线程的run()方法. 当程序执行到start()方法时,线程启 ...

  9. Loj #2731 「JOISC 2016 Day 1」棋盘游戏

    Loj 2731 「JOISC 2016 Day 1」棋盘游戏 JOI 君有一个棋盘,棋盘上有 \(N\) 行 \(3\) 列 的格子.JOI 君有若干棋子,并想用它们来玩一个游戏.初始状态棋盘上至少 ...

  10. python写测试接口

    https://www.cnblogs.com/liuyl-2017/p/7815950.html