---恢复内容开始---

1、MySQL概述

  1.什么是数据库?

  存储数据的仓库

  2.都有哪些公司在用数据库?

  金融机构、游戏公司、购物网站、论坛网站...

  3.提供数据库服务的软件?

    1.软件分类

      MySQL、Oracle、SQL_Server、DB2、MongoDB、MariaDB

    2.生产环境中,如何选择使用哪个数据库软件?

      开源:MYSql,Mariadb,MongoDB

      不开源:Oracle,DB2,SQL_Server

    3.公司的类型:

      1.商业数据库:政府部门,金融机构

      2.开源数据库:游戏网站、购物网站、论坛网站.....

  4、MySQL的特点

  1.关系型数据库

    1.关系型数据库特点

      1.数据是以行和列(表格)的形式去存储

      2.表中的每一行叫一条记录,每一列叫一个字段

      3.表和表之间的罗技关联叫关系

    2.示例

      1.关系型数据库存储

        表1  学生信息表

        姓名  年龄  班级

        星矢  25     三班

        水冰月 29    六班

        表2  班级信息表

        班级  班主任  

        三班  大空翼

        六班  松人

      2.非关系型数据库中存储

        {"姓名":"水冰月","年龄":"25"}

    2、跨平台

      可以在Unix,Linux,Windows上运行数据库服务;

    3、支持多种编程语言

      python,java,php,c/c++....

  5、数据库软件。数据库、数据仓库的概念

  1.数据库软件

    一个软件,看得见,可操作,实现数据库的逻辑功能

  2、数据库

    是一种逻辑概念,用来存放数据的仓库,侧重存储

  3、数据仓库

    从数据量上来说,比数据库庞大的多,主要用于数据分析和数据挖掘

2、MySQL安装

  1.Ubuntu安装

    安装服务端

      sudo apt-get install mysql-server

    安装客户端

      sudo apt-get install mysql-client

    Ubuntu安装软件   

      1、sudo apt-get update

      访问源列表中的每个网站,读取软件列表,保存到本地/var/lib/apt/lists

      2、sudo apt-get upgrade

      把本地已安装软件与刚下载的软件列表进行对比,如果发现已安装版本低则更新

      3、sudo apt-get -f install

      修复依赖关系

3、启动和链接MySQL服务

  1.服务端启动

    1.查看MySQL状态

      sudo /etc/init.d/mysql status

  2、客户端连接

    1命令格式

      mysql -h主机地址 -u用户名 -p密码

      如:mysql -hlocalhost -uroot -p123456

    2.本地连接可省略 -h选项

      mysql -uroot -p123456

4、基本SQL命令

  1.SQL命令的使用规则

    1.每条命令的使用规则

      1.每条命令必须以;结尾

      2.SQL命令不区分字母大小写

      3.使用\c来终止当前命令的执行

  2.库的管理

    1.库的基本操作

      1.查看已有库

      show databases;

      2.创建库(指定字符集)

      create database 库名 [character set utf8];

      3.查看创建库的语句(字符集)

      show create database 库名
      4.查看当前所在库

      select database 库名;

      5.切换库

      use 库名;

      6.查看库中已有库

      show tables;

      7.删除库

       drop database 库名;

    2、库名的命名规则

      1.数字、字母、下划线。但不能使用纯数字

      2.库名区分字母大小写

      3.不能使用特殊字符和mysql关键字

    3、练习

      1、创建库testdb,指定字符集为 utf8

      create database testdb character set utf8;
      2、进入到库 testdb
      use testdb;
      3、查看当前所在库
      select database();
      4、创建库 testdb2,指定字符集为 latin1
      create database testdb2 character set latin1;
      5、进入到库 testdb2
      use testdb2;
      6、查看 testdb2 的字符集(查看创建库的语句)
      show create database testdb2;
      7、删除库 testdb
      drop database testdb;
      8、删除库 testdb2
      drop database testdb2;

  3、表的管理

    1.表的基本操作

      1.创建表(指定字符集)

      create table 表名(

      字段名 数据类型,

      字段名 数据类型,

      ...

      );

    2、查看已有表的字符集
    show create table 表名;
    3、查看表结构
    desc 表名;
    4、删除表
    drop table 表名;

5、Mac安装mysql
  1、cd
  2、vi .bash_profile
  添加 :PATH="$PATH":/usr/local/mysql/bin
  3、source .bash_profile

6、表记录管理

  插入(insert)

    1、insert into 表名 values(值1),(值2),...;

    2、insert into 表名(字段1,...) values(值1),...; 

  2、查询(select)
    1、select * from 表名 [where 条件];
    2、select 字段1,字段名2 from 表名 [where 条件];

5、如何更改默认字符集

  1、方法(通过更改MySQL配置文件实现)

  2、步骤
    1、获取root权限
      sudo -i
    2、cd /etc/mysql/mysql.conf.d/
    3、备份 :cp mysqld.cnf mysqld.cnf.bak
    4、subl mysqld.cnf
    [mysqld]

    character_set_server = utf8
    5、重启mysql服务
    /etc/init.d/mysql restart

    MAC:/etc/my.cnf

    [mysqld]
    character_set_server = utf8

6、客户端把数据存储到数据库服务器上的过程

  1、连接到数据服务器 mysql -uroot -p123456
  2、选择一个库 use 库名
  3、创建表/修改表 update 表名...
  4、断开与数据库连接 exit; | quit; | \q;

7、数据类型
  1、数值类型
    1、整型
      1、int 大整型(4个字节)
      取值范围 :2**32 - 1(42亿多)
      2、tinyint 微小整型(1个字节)
      1、有符号(signed默认) : -128 ~ 127
      2、无符号(unsigned) : 0 ~ 255
      age tinyint unsigned,
      3、smallint 小整型(2个字节)
      4、bigint 极大整型(8个字节)

    2、浮点型

      1、用法

        字段名 float(m,n)  m->总位数 n->小数位位数

        float(5,2)取值范围? -999.99 ~ 999.99

      2、decimal(最多显示28个有效位)

        1、decimal(m,n)

          2、存储空间(整数、小数分开存储)

            规则:将9的倍数包装成4个字节

          示例:decimal(19,9)

          整数部分:10/9=商1余1 4字节+1字节=5字节

          小数部分:9/9=商1余0 4字节+0字节=4字节

          占:9字节

      

  2、字符类型
    1、char(定长)
      1、取值范围:1~255
    2、varchar(变长)
      1、取值范围:1~65535
      2、text / longtext(4G) / blob / longblob(4G)
    3、char和varchar的特点
      1、char :浪费存储空间,性能高
      2、varchar :节省存储空间,性能低

      

---恢复内容结束---

认识mysql(1)的更多相关文章

  1. Hadoop 中利用 mapreduce 读写 mysql 数据

    Hadoop 中利用 mapreduce 读写 mysql 数据   有时候我们在项目中会遇到输入结果集很大,但是输出结果很小,比如一些 pv.uv 数据,然后为了实时查询的需求,或者一些 OLAP ...

  2. mysql每秒最多能插入多少条数据 ? 死磕性能压测

    前段时间搞优化,最后瓶颈发现都在数据库单点上. 问DBA,给我的写入答案是在1W(机械硬盘)左右. 联想起前几天infoQ上一篇文章说他们最好的硬件写入速度在2W后也无法提高(SSD硬盘) 但这东西感 ...

  3. LINUX篇,设置MYSQL远程访问实用版

    每次设置root和远程访问都容易出现问题, 总结了个通用方法, 关键在于实用 step1: # mysql -u root mysql mysql> Grant all privileges o ...

  4. nodejs进阶(6)—连接MySQL数据库

    1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...

  5. MySQL高级知识- MySQL的架构介绍

    [TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...

  6. 闰秒导致MySQL服务器的CPU sys过高

    今天,有个哥们碰到一个问题,他有一个从库,只要是启动MySQL,CPU使用率就非常高,其中sys占比也比较高,具体可见下图. 注意:他的生产环境是物理机,单个CPU,4个Core. 于是,他抓取了CP ...

  7. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  8. Entity Framework Core 实现MySQL 的TimeStamp/RowVersion 并发控制

    将通用的序列号生成器库 从SQL Server迁移到Mysql 遇到的一个问题,就是TimeStamp/RowVersion并发控制类型在非Microsoft SQL Server数据库中的实现.SQ ...

  9. Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境

    首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...

  10. 当忘记mysql数据库密码时如何进行修改

    因为长时间没有使用数据库了,或者把密码改完之后就忘了数据库密码,不能正常进入数据库,也无法修改密码,有一个简单的常用修改密码方式: 1.首先找到和打开mysql.exe和mysqld.exe所在的文件 ...

随机推荐

  1. 如何将拷贝过来的数据 *.ibd 文件生效

    1.将拷贝的数据文件   "qqq.idb"放在自己的数据库中. 一般存放在  mysql/ data/ databasename 下 2. "qqq.idb" ...

  2. Mysql遍历大表(Mysql大量数据读取内存溢出的解决方法)

    mysql jdbc默认把select的所有结果全部取回,放到内存中,如果是要遍历很大的表,则可能把内存撑爆. 一种办法是:用limit,offset,但这样你会发现取数据的越来越慢,原因是设置了of ...

  3. java里如何实现循环打印出字符或字符数组里的内容

    不多说,直接上干货! java里如何实现循环打印出字符里的内容 没写,暂时不会 java里如何实现循环打印出字符数组里的内容 public class test { public static voi ...

  4. Git忽略提交规则

    Git忽略提交规则 转自:https://www.cnblogs.com/kevingrace/p/5690241.html 在使用Git的过程中,我们喜欢有的文件比如日志,临时文件,编译的中间文件等 ...

  5. ASP.NET Core集成微信登录

    工具: Visual Studio 2015 update 3 Asp.Net Core 1.0 1 准备工作 申请微信公众平台接口测试帐号,申请网址:(http://mp.weixin.qq.com ...

  6. IE6/7下同级只有一个元素浮动,会换行问题

    .myDiv { background-color: red; width: 200px; height: 200px; padding: 10px; } .div1 { background-col ...

  7. 框架使用-Sql拼接

     Sql语句拼写: 查询 DQueryDom DmoQuery(返回的整个对象) 更新 DQUpdateDom 删除 DQDeleteDom 条件 dom.Where.Conditions.Add(D ...

  8. 一、 Spring IOC 简介

    一 . 什么是IOC(Inversion of Control) IOC :控制反转,也称为依赖注入(DI).听起来有点云里雾里,他到底是个啥,为什么Spirng中最基础的就是它? 我们的项目其实都是 ...

  9. HTML 5 Web 存储提供了几种存储数据的方法

    localstorage存储对象分为两种: 1. sessionStorage: session即会话的意思,在这里的session是指用户浏览某个网站时,从进入网站到关闭网站这个时间段,sessio ...

  10. Browser Window

    Window 对象 Window对象表示浏览器中打开的窗口. 如果文档包含框架(iframe或iframe标签),浏览器会被html文档创建一个window对象,并为每个框架创建一个额外的window ...