初识MySQL

MySQL初识简介

  • 什么是MySQL?

    MySQL是由原瑞典的MySQL AB公司开发者开发,09年被甲骨文公司收购,它属于开源的关系型数据库管理系统,因速度、可靠性和适应性而备受关注。

  • 为什么要使用MySQL数据库?

    首先MySQL数据库相比较Oracle数据库成本比较低,能满足目前中小企业以及现在部分大企业的使用。

    其次它是一款免费的数据库服务

MySQL下载与安装

目前各开发公司使用相对较多的版本是MySQL 5.7.*。本教程以5.7版本进行阐述。

下载

地址:此处可直接进入官网5.7版本下载

*由于官网打开及下载速度比较缓慢,也可到我的网盘中下载,方便大家使用

地址:此处可直接进入网盘5.7版本下载

*网盘中5.7版本mysql存在两个安装zip,可根据自己的喜好进行安装使用

安装

*本文安装方法采用的是免安装版配置(直接解压并配置) || 也可以根据安装版进行安装配置

  1. 将下载好的zip解压到您常用的工作空间目录即可

  2. 解压完成后,我们在mysql的根目录(\bin目录同级)下新建my.ini配置文件

  3. 使用记事本打开刚新建的my.ini配置文件,将一下命令复制在里面

    [mysqld]
    basedir=C:\Program Files\MySQL\MySQL Server 5.7\
    datadir=C:\Program Files\MySQL\MySQL Server 5.7\data\
    port=3306
    skip-grant-tables

    *basedir和datadir配置的路径是您计算机解压后的路径

    *在首次配置时,datadir文件不存在,不需要您考虑,直接默认写上\data\路径即可,后期我们初始化的时候会生成这个文件

    *port MySQL数据库默认的端口号

    *skip-grant-tables 默认跳过密码验证,因为我们免安装的方式首次进入mysql操作是没有密码的,加上这个命令方便我们后期进行密码初始化

  4. my.ini配置完成之后,我们在计算机的PATH环境变量中加入MySQL的环境变量

    PATH下添加你的mysql解压文件下的bin文件夹

  5. 以上工作准备好后,接下来我们用管理员方式启动DOS命令

  6. 在DOS控制窗口中切换至MySQL的bin目录,然后我们键入mysql -install命令(安装MySQL服务)

    mysqld -install

    当提示Service successfully installed输出,说明你的MySQL服务安装成功

    *如果安装失败注意两个点:是否在bin\目录下;是否dos在管理员命令下

  7. 安装成功后 ,我们需要初始化数据文件

    mysqld --initialize-insecure  --user=mysql

    这个初始化是在初始化我们配置的my.ini文件以及mysql系统中的数据库表deng,这一步会给我们生成上边的data\文件

  8. 初始化完成后,我们需要在bin\目录下用DOS命令启动MySQL服务

    net start mysql

    *如何看我们的服务是否启动成功:控制台上会打印我们服务是否启动成功;还可以在计算机中的任务管理器-服务列表中查看MySQL是否启动成功

  9. 服务启动后,我们用命令进入MySQL的管理页面

    mysql -u root -p

    -u :用户名

    -p :密码(初始化后首次进入密码可以为空)

  10. 进入MySQL服务后,我们进行密码修改操作

    update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost';

    *需要注意的是安装的mysql版本不一致易导致修改密码操作会不同,5.7版本之前的密码字段是password,之后的密码字段是authentication_string,所以这一块需要注意

  11. 修改完成之后我们键入刷新权限命令

    flush privileges
  12. 密码修改完成后不要忘记把my.ini文件中的skip-grant-tables这一行注释掉

  13. 关闭并重启mysql 进行首次登陆

    net stop mysql --关闭mysql服务
    net start mysql  --启动mysql服务
    mysql -u root -p123456  --登陆mysql

    *键入密码时-p后不需要加入空格

    *-- 代表的是注释

  14. 以上我们就配置完免安装的MySQL数据库操作

命令

  • 展示当前服务所有的数据库

    show databases;
  • 查看当前数据库中所有的表

    show tables;
  • 查看具体表信息

    describe 表名;
  • 创建数据库

    create DATABASE [IF NOT EXISTS] 数据库名;

    [IF NOT EXISTS] --判断该数据库不存在

  • 删除数据库

    DROP DATABASE [IF EXISTS] 数据库名;

    [IF EXISTS] -- 判断该数据库存在

  • 使用或切换数据库

    use 数据库名;

    特殊字符例如USER 我们需要用``引起来使用

  • 退出

    exit
  • 创建表

    CREATE TABLE [IF NOT EXISTS] `表名`(
    `列名` 列类型 [属性] [索引][注释],
      `列名` 列类型 [属性] [索引][注释],
      ......
      `列名` 列类型 [属性] [索引][注释]

    )[表引擎][表字符集设置][注释]
    --例如
    CREATE TABLE IF NOT EXISTS `student` (
    `id` INT(10) NOT NULL AUTO_INCREMENT COMMENT '学号',
    `name` VARCHAR(256) NOT NULL DEFAULT '匿名' COMMENT '姓名',
    `brithday` DATETIME DEFAULT NULL COMMENT '生日',
    PRIMARY KEY (`id`)
    )ENGINE INNODB DEFAULT CHARSET utf8

    NOT NULL 不为空

    AUTO_INCREMENT 自增

    COMMENT 注释

    DEFAULT 默认值

    PRIMARY KEY 主键

    ENGINE INNODB 引擎(innodb)

    DEFAULT CHARSET utf8 默认字符集

  • 逆向操作,查询建库、建表、表结构SQL语句

    SHOW CREATE DATABASE 库名
    SHOW CREATE TABLE 表名
    DESC 表名
  • 修改表名

    ALTER TABLE 原表名 RENAME AS 新表名;
  • 增加表字段

    ALTER TABLE 表名 ADD 列名 列属性;
  • 修改表字段

    ALTER TABLE 表名 CHANGE 原列名 新列名 列属性;
  • 修改表约束及属性

    ALTER TABLE 表名 MODIFY 列名 列属性 约束;
  • 删除表字段

    ALTER TABLE 表名 DROP 列名;
  • 删除表

    DROP TABLE IF EXISTS 表名;

     

列数据类型

  • 数值

    tinyint十分小的数据类型1个字节
    smallint 较小的数据类型 2个字节
    mediumit 中等的数据类型 3个字节
    int 标准的整数型 4个字节
    bigint 较大的数据类型 8个字节
    float 浮点型 4个字节
    double 浮点型 8个字节
    decimal 字符串浮点型 M+2个字节
  • 字符串

    char字符串固定大小0-255
    varchar 可变字符串 0-65535
    tinytext 小文本 2^8-1
    text 大文本 2^16-1
  • 时间日期

    dateYYYY-MM-DD日期格式
    time HH:mm:ss 时间格式
    datetime YYYY-MM-DD HH:mm:ss 时间日期格式
    timestamp 时间戳 1970.1.1到现在的总毫秒数
  • null

    NULL 或 未知

字段属性

  • Unsigned

    无符号属性

  • Zerofill

    0填充 例:int(3) 赋值3会变成 003

  • 非空

    字段值不允许为空

  • 自增

    主键逐一增加

引擎剖析

 MYISAMINNODB
事务 不支持 支持
数据行锁定 不支持 支持
外键约束 不支持 支持
全文索引 支持 不支持
表空间大小 比较小
优点: 节约空间,速度较快 安全性高,支持事务处理,多表多用户操作

MySQL引擎在物理文件上的区别

  • InnoDB在data文件夹数据表文件夹中只有一个*.frm文件、及上一级的ibdata1文件

  • MYISAM对应文件

    • *.frm -表结构的定义文件

    • *.MYD -数据文件

    • *.MYI -索引文件

字符集编码

  • 默认字符集编码不支持中文

    通过创表语句进行设置

    CHARSET=UTF8

    也可以在my.ini配置文件中添加一行编码设置(不推荐)

    default-character-set=utf8

     

posted @ 2020-03-14 15:05  JasonLau01  阅读(216)  评论(0)    收藏  举报