zoukankan      html  css  js  c++  java
  • MySQL

    mysql基本概念

    1、数据库是什么?

        数据库本质就是一个C/S的套接字软件

        常见的数据库:

      关系型数据库
        MySQL、oracle、db2、access、sql server
      非关系型数据库
        redis、mongodb、memcache

          关系型:
                      数据之间彼此有关系或者约束
          非关系:
                       存取数据都是以key:value

    2、数据库相关概念

    -服务端
    -基于socket通信
    -收发消息
    -SQL语句
    
    -客户端
    -基于socket通信
    -收发消息
    -SQL语句

    3.如何解决语言沟通的障碍?  

      1 让服务端兼容所有的语言(一个人精通多国语言)
      2 采用统一的语言(SQL语句)

     数据库服务器:运行有数据库管理软件的计算机
        数据库管理软件mysql:就是一个套接字服务端
        库:就是一个文件夹
        表:就是一个文件
        记录:就相当于文件中的一行行的内容

      表头: 表格的第一行字段
      字段 :name、password、hobby

        数据:用于记录现实世界中的某种状态

    4.MySQL的安装   参考网站:https://www.mysql.com/

    5.MySQL服务端与客户端

    """
    服务端
    mysqld.exe
    
    客户端
    mysql.exe
    """

    注意

    """
    在前期配置MySQL的时候 cmd终端尽量以管理员的身份运行
    
    windows+r 输入cmd  进入的是普通用户终端 有一些命令是无法执行的
    搜索cmd右键 以管理员身份运行
    """
    """
    常见软件的默认端口号
        MySQL  3306
        redis  6379
        mongodb 27017
        django  8000
        flask   5000
        ...
        
    
    MySQL第一次以管理员身份进入是没有密码的 直接回车即可
    
    客户端连接服务端完整命令
        mysql -h 127.0.0.1 -P 3306 -uroot -p
    """

    sql语句初识

    """
    1 MySQL中的sql语句是以分号作为结束的标志
    
    2 基本命令
        show databases;  查看所有的库名
    
    3 连接服务端的命令可以简写
        mysql -uroot -p
    
    4 当你输入的命令不对 又不想让服务端执行并返回报错信息 可以用c取消
        错误命令  c
    
    5 客户端退出  退出命令加不加分号都可以执行
        quit
        exit
    
    6 当你在连接服务端的时候 发现只输入mysql也能连接
        但是你不是管理员身份 而只是一个游客模式
    """
    如何查看当前具体进程
        tasklist
        tasklist |findstr mysqld
    
     如何杀死具体进程(只有在管理员cmd窗口下才能成功)
        taskkill /F /PID PID号
    """
    """

    环境变量配置

    """
    每次启动mysqld需要先切到对应的文件路径下才能操作太多繁琐
    将mysqld所在的文件路径添加到系统环境变量中
    """
    """查看当前计算机的运行进程数   
         services.msc
    ​    将mysql制作成系统服务   
         mysqld --install
        移除mysql系统服务   
         mysqld --remove
    """

    统一编码

    • mysql默认的配置文件cd

    """
    my-default.ini 
    ini结尾的一般都是配置文件
    
    程序启动会先加载配置文件中的配置之后才真正的启动
    """
    [mysqld]  # 一旦服务端启动立刻加载下面的配置
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
    [mysql]  # 一旦客户端启动立刻加载下面的配置
    ...
    [client]  # 其他客户端
    ...
    
    # 需要你自己新建一个my.ini的配置文件
    
    # 验证配置是否真的是自动加载
    [mysql]
    print('hello world')
    
    # 修改配置文件后一定要重启服务才能生效
    
    # 统一编码的配置 无需掌握 直接拷贝即可
    
    # 偷懒 将管理员的用户名和密码也添加到配置文件中
    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    [client]
    default-character-set=utf8
    [mysql]
    user="root"
    password=123456
    default-character-set=utf8

    基本sql语句

    针对库的增删改查(文件夹)

    #
    create database db1;
    create database db2 charset='gbk';
    #
    show databases;  # 查所有
    show create database db1;  # 查单个
    #
    alter database db2 charset='utf8';
    #
    drop database db2;

    针对表的增删改查(文件)

    """
    在操作表(文件)的时候 需要指定所在的库(文件夹)
    """
    # 查看当前所在的库的名字
    select database();
    # 切换库
    use db1; 
    
    #
    create table t1(id int,name char(4));
    #
    show tables;  # 查看当前库下面所有的表名
    show create table t1;
    describe t1;  # 支持简写 desc t1;
    #
    alter table t1 modify name char(16);
    #
    drop table t1;

    针对数据的增删改查(一行行数据)

    """
    一定要先有库 有表 最后才能操作记录
    """
    #
    insert into t1 values(1,'jason');
    insert into t1 values(1,'jason'),(2,'egon'),(3,'tank');
    #
    select * from t1;  # 该命令当数据量特别大的时候不建议使用
    select name from t1;
    #
    update t1 set name='DSB' where id > 1;
    #
    delete from t1 where id > 1;
    delete from t1 where name='jason';
    # 将表所有的数据清空
    delete from t1;
  • 相关阅读:
    node递归批量重命名指定文件夹下的文件
    nvm
    node在Web中的用途
    给flash续命(rtmp/http-flv网页播放器)
    AMR/PCM格式语音采集/编码/转码/解码/播放
    视频分析,目标跟踪应用方案梳理
    srs-librtmp pusher(push h264 raw)
    srs
    nginx-rtmp/http-flv
    Introduction to Sound Programming with ALSA
  • 原文地址:https://www.cnblogs.com/zhenghuiwen/p/12818993.html
Copyright © 2011-2022 走看看