zoukankan      html  css  js  c++  java
  • MySQL安装与使用

    1、下载mysqld

    进入https://www.mysql.com/

    在网页中依次点击:DOWNLOADS--->MySQL Community(GPL)Downloads---->MySQL Community Server

     这里以下载mysql-5.6.46-winx64.zip为例

    下载成功后解压--->改名为mysql56

    2、添加系统环境变量

    把mysql56下bin文件的目录路径添加到系统的环境变量中

    3、把mysql制作成系统服务

      注意:在制作之前要把mysqld关掉(在命令提示符中输入taskkill  /F  /PID xxxx ,xxx可以通过输入tasklist  |findstr mysqld查看)

      制作:在命令提示符中输入mysqld --install回车后就制作成功,可以通过在win+R中输入services.msc中查看制作成功(MySQL)

           此时可以通过双击MySQL启动

      可以在cmd中输入:net start mysql / net stop mysql 进行开启/关闭mysql

    4、启动

    启动服务端:

      mysqld

    启动客户端:

      mysql  -uroot -p -h127.0.0.1 -p 3306           

    如果在本机登陆mysqld客户端可以简写:

      mysql -uroot -p

    5、修改密码

    在系统命令提示符(以管理员身份运行)中输入mysqladmin -uroot -p password "123”,然后回车在回车就会把密码设置成123,如果再把密码改为456:

    mysqladmin -uroot -p123 password "456" 回车就会修改成功

    6、破解管理员密码

    (1)先跳过密码登入:

    #1 关闭mysql
    #2 在cmd中执行:mysqld --skip-grant-tables

    (2)打开新的cmd输入 mysql -uroot -p登入

    (3)修改密码:update mysql.user set password=password("123") where user="root" and host="localhost";

             刷新:flush privileges

    (4)在命令行中用taskkill  /F  /PID xxxx杀死mysqld服务,然后正常启动mysqld

    7、统一字符编码

    问题:以管理员的身份运行cmd--->mysql -uroot -p456--->s:此时会发现表格数据中有多种编码(latinl、gbk),需要统一改为utf8

    解决方法:在mysql56目录下新建文档,改名为my.ini,然后用Notepad++打开,进行如下配置:

    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    
    [client]
    default-character-set=utf8
    
    [mysql]
    user="root"
    password="2180736"
    default-character-set=utf8

    然后关闭再重启mysql,编码就会统一为utf8

    8、创建用户以及授权

    连接:

      默认:用户root

      创建:

        create user 'alex'@'192.168.1.1' identified by '123123';

                  create user 'alex'@'192.168.1.%' identified by '123123';

        create user 'alex' @'%' identified by '123123';

      授权:

        用法:

        show grants for '用户'@'IP地址'                  -- 查看权限
        grant  权限 on 数据库.表 to   '用户'@'IP地址'      -- 授权
        revoke 权限 on 数据库.表 from '用户'@'IP地址'      -- 取消权限

        例如:

        grant select,insert,update on db1.t1 to 'alex'@'%';  用户在任何机器上都能对 db1数据库下面的t1做查看、插入、更新操作  

                  grant all privileges on db1.t1 to 'alex'@'%';       给用户授权所有功能(用户授权给别人的功能除外)

     9、基本的SQL语句

    1、文件夹(库)

    create database db1 charset utf8;

    alter database db1 charset gbk;

    查看所有库的库名
    show databases;
    单独查看某一个库的信息
    show create database db1;

    drop database db1;

    2、文件(表)
    首先切换文件夹:
    use db1;
    select database(); #查看当前所在的文件夹
         create table t1(id int,name char);
         create table t1(id int,name char)engine=innodb default charset=utf8;
         create table t3(id int auto_increment primary key,name char(10))engine=innodb default charset=utf8;  *****

           create table t1(
          列名 类型 null,
          列名 类型 not null,
          列名 类型 not null auto_increment primary key,
          id int,
          name char(10)
        )engine=innodb default charset=utf8;
          # innodb 支持事务,原子性操作
          # myisam myisam

          auto_increment 表示:自增 (一个表里面只能有一个自增列)
          primary key: 表示 约束(不能重复且不能为空); 加速查找 (一般与auto_increment 连用)
          not null: 是否为空

             

    数据类型:

      1、数字:

        tinyint:-128~127                                           0~255
        int:-2147483648~2147483647                                 0~4294967295
        bigint:-9223372036854775808 ~ 9223372036854775807          0 ~ 18446744073709551615

        FLOAT
          0.00000100000123000123001230123   (数据不精准)
        DOUBLE
          0.00000000000000000000100000123000123001230123
          0.00000100000123000000000000000  (数据不精准)
        decimal
          注意:对于精度数值计算时需要用此类型,

             decimal能够储存精确值的原因在于其内部按照字符串储存
      2、字符串:
        char(m) 速度快()
        char数据类型用于表示固定长度的字符串,可以包含最多达255个字符。其中m代表字符串的长度,即使数据小于m长度,也会占用m长度

        varchar(10) 节省空间
        varchars数据类型用于变长的字符串,可以包含最多达255个字符。其中m代表该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可          以被保存在该数据类型中。


        PS: 创建数据表定长列往前放,,,,char、varchar最多存255个字符

     3、text:
        上传文件:
          文件存硬盘
          db存路径


     4、时间类型:
        DATETIME: YYYY-MM-DD HH:MM:SS(1000-01-01 00:00:00/9999-12-31 23:59:59 Y)

      

    5、enum:枚举类型
     CREATE TABLE shirts (
           name VARCHAR(40),
           size ENUM('x-small', 'small', 'medium', 'large', 'x-large')
           );
           INSERT INTO shirts (name, size) VALUES ('dress shirt','large'), ('t-shirt','medium'),('polo shirt','small');

     6、set:集合类型

           CREATE TABLE myset (col SET('a', 'b', 'c', 'd'));
               INSERT INTO myset (col) VALUES ('a,d'), ('d,a'), ('a,d,a'), ('a,d,d'), ('d,a,d');


        create table t1(
          id int signed not null auto_increment primary key,
          num decimal(10,5),
          name char(10)
        )engine=innodb default charset=utf8;


    alter table t1 modify name char(16);

    查看当前库下所有的表名
    show table
    查看t1表的详细信息
    show create table t1;
    查看表结构
    desc t1;

            清空
                      1、delete from t1;(自增情况下清空再插入数据,序号从上面递增)
            2、truncate table t1;(运行速度比上面的快 ,再插入数据序号从1开始)


    drop table t1;

    3、文件的一行内容(记录)

    insert into db1.t1(id,name) values
    (1,'egon'),
    (2,'alex'),
    (3,'lxx');

    update db1.t1 set name='sb' where id > 1;

    select id,name from db1.t1;

         delete from t1;(全部删除)
    delete from db1.t1 where name = "SB" ; (有条件的删除)
    详见:https://www.cnblogs.com/wupeiqi/articles/5713323.html
  • 相关阅读:
    ElasticSearch入门 第一篇:Windows下安装ElasticSearch
    Elasticsearch+Logstash+Kibana教程
    MySQL组合索引最左匹配原则
    mysql 有哪些索引
    MySQL配置优化
    MySQL分区和分表
    MySQL优化
    MySQL锁详解
    MySQL各存储引擎
    MySQL索引类型
  • 原文地址:https://www.cnblogs.com/zh-xiaoyuan/p/11853690.html
Copyright © 2011-2022 走看看