zoukankan      html  css  js  c++  java
  • MySQL安装 sql语句

    数据库概念

    一款软件,安装在计算机 | 服务器上,

    只要告诉它:创建一个文件 | 新增一个数据 | 删除一个数据,它就能帮我们操作

    对应名称关系:文件夹(库)| 文件(表)| 表头(字段)| 数据/记录(表数据)

    MySQL:用于管理数据的一个软件(两个程序)

       只要是基于网络通信,底层都是socket!!!

    服务端软件:

      socket服务端

      本地文件操作

      解析指令

    客户端软件:

      socket客户端

      发送指令

      解析指令

    客户端可以有很多个,python,java,php,c++都可以编程一个客户端,用代码指定ip port链接上服务端即可操作

    服务端 - 多个客户端:共同的语言 >>> 解析指令(sql语句)

    DBA:
    sql语句优化
    RDBMS:数据库管理系统

    其他类似软件

      关系型数据库:sqlite,db2,oracle,access,sql server,MySQl    

        彼此之间有约束或者有联系

        通常以表格方式存储,第一步需要创建表结构!

      非关系型数据库:mongodb,redis

        存储方式:k,v 键值对形式

        数据间没有关系  

     

    MySQL的安装

    终端最好以管理员身份运行

    切换到mysql目录下启动mysqld服务端(阻塞,监听地址,固定的ip和端口)
    cd D:mysql56
    D:

     新开cmd窗口启动mysql客户端

    1、启动

      服务端

         mysqld

      客户端

        mysql -h 127.0.0.1 -P 3306 -uroot -p
        (在本机登录)也支持简写
        mysql -uroot -p
        让你输入密码,不用管直接敲回车 
    sql语句第一条命令:
    show databases;  # 查看所有数据库
    注意:输入sql语句的时候,一定要用英文分号结束
    如果输入的sql语句错了不想执行的话可以在后面跟上c取消该命令的执行
    退出客户端:exit,quit
    2、将mysql启动文件路径添加到环境变量
    3、将mysqld制作成系统服务 
      1)一定要先将mysqld杀死
      2)mysqld --install 将mysqld服务端制作成系统服务(开机自启动)
    # 查看mysqld进程
    tasklist |findstr mysqld
    # 杀死mysqld进程
    taskkill /F /PID 'PID号'
    
    # 将mysqld这款软件做成系统服务软件
    mysqld --install
    
    # 查看计算机当前运行程序数
    运行:services.msc
    3、设置密码
    mysqladmin -uroot -p password "123"
    
    # 第一次修改完密码以后,之后还修改密码需要
    mysqladmin -uroot -p123 password "123456"
    
    # 为了后续调试方便,这里把密码设为空值
    mysqladmin -uroot -p123 password "新密码"

    4、破解密码

      1.先关闭服务端
      2.以跳过授权表的方式(用户密码认证模式)重新启动服务端
    mysqld --skip-grant-tables

    3.以管理员登录
    4.修改mysql库里面的user表

    update mysql.user set password=password(123) where user='root' and host='localhost';
    flush privileges;

    5.先关闭跳过验证的服务端,以正常模式启动服务端
    6.输入用户名密码正常登陆

    5、解决编码问题

    mysql命令:"s" 查看编码

    mysql不输用户名和密码,默认以游客模式登录

     1.在mysql根目录下新建一个my.ini的配置文件,在里面固定加上下面的配置即可设置编码问题

    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    [client] default-character-set=utf8
    [mysql] default-character-set=utf8
    2.重新启动的你mysql服务端,配置才会生效

    6、基本sql语句操作

      对数据的增删改查

      sql书写错误,只要没加分号,c可使前面的sql语句失效

      1)文件夹(库)

    # 增
    create database db1 charset utf8;
    # 查
    show databases;
    show create database db1;
    # 改
    alter database db1 charset gbk; # 删
    drop database db1;

      2)文件(表)

      文件首先需要在文件夹下面,所以在操作文件之前,应该先确定操作的是哪个文件夹下面的文件

    # 切换到指定的库
    user db1;
    select database();  # 查看当前所在的库
    # 增
    create table t1(id int,name char);  # 创建出来的可能是多个文件,解耦管理
    # 查
    show tables;
    show create table t1;        # 查看表的详细信息
    describe t1; == desc t1;     # 查看表结构
    # 改
    alter table t1 modify name char(16);
    # 删
    drop table t1;

      3)数据(表数据)

    # 增
    insert into db1.t1 values (1,'jon'),(2,'ken'),(3,'bob');  # into可加可不加,db1可以不指定,默认就是在当前库下
    # 查
    select id,name from db1.t1;  # db1可不指定,默认当前库下
    select * from t1;
    # 改
    update db1.t1 set name='DSB' where id > 1;
    update db1.t1 set name='DSB' where id = 2 or id = 3;
    # 删
    delete from db1.t1 where id >3;
    delete from db1.t1 where name='egon'  # 这里注意如果少了一个引号,后面无论敲什么都没有用了需要将引号补全

    存储引擎

    不同的应用软件处理不同类型的数据 
    mysql5.5版本及以上默认的存储引擎是innodb
    innodb:支持行锁表锁,外键,事物,安全性更高,较myisam数据更安全
    myisam:仅仅支持表锁不支持行锁,查询速度较innodb更快
    memory:内存引擎,将所有的数据直接放在内存,一旦断电数据全部消失
    blackhole:一切存入其中的数据都会消失
    create table t1(id int,name char(16))engine=innodb;
  • 相关阅读:
    java-selenium三种等待方式
    java-selenium八种元素定位方式
    java-selenium浏览器常用操作命令
    ELK日志分析平台搭建全过程
    详解Oracle架构、原理、进程
    Oracle建立约束、删除约束
    OGG基础知识整理
    由浅入深解读Redis高级能力及性能调优
    《收获,不止Oracle》读书笔记
    转:一条sql语句在mysql中是如何执行的
  • 原文地址:https://www.cnblogs.com/zhouyongv5/p/10846791.html
Copyright © 2011-2022 走看看