zoukankan      html  css  js  c++  java
  • 初识mysql

    数据库简介

    """
    本质其实就是一款基于网络通信的应用程序
    
    数据库分类
    	关系型数据库
    		MySQL、oracle、db2、access、sql server
    	非关系型数据库
    		redis、mongodb、memcache
    """
    # 关系型
    	1 数据之间彼此有关系或者约束
        	男生表和前女友表
        2 存储数据的表现形式通常是以表格存储	
        	name     password		hobby
            jason	  123			学习
            egon	  123			女教练
            tank	  123			吃生蚝
            每个字段还会有存储类型的限制
            比如姓名只能存字符串...
    # 非关系型
    	存储数据通常都是以k,v键值对的形式
    

    MySQL介绍

    """
    库 ——> 文件夹
    表	——> 文件
    记录 ——> 文件内一行行的数据
    
    表头	 表格的第一行字段
    字段     name、password、hobby
    """
    

    MySQL的安装启动

    参考网站:https://www.mysql.com/
    参考博客:https://www.cnblogs.com/xuexianqi/p/12795890.html

    sql语句初识

    """
    1 MySQL中的sql语句是以分号作为结束的标志
    
    2 基本命令
    	show databases;  查看所有的库名
    
    3 连接服务端的命令可以简写
    	mysql -uroot -p
    
    4 当你输入的命令不对 又不想让服务端执行并返回报错信息 可以用c取消
    	错误命令  c
    
    5 客户端退出  退出命令加不加分号都可以执行
    	quit
    	exit
    
    6 当你在连接服务端的时候 发现只输入mysql也能连接
    	但是你不是管理员身份 而只是一个游客模式
    """
    

    环境变量配置及系统服务制作

    小知识点补充

    """
    1 如何查看当前具体进程
    	tasklist
    	tasklist |findstr mysqld
    
    2 如何杀死具体进程(只有在管理员cmd窗口下才能成功)
    	taskkill /F /PID PID号
    """
    

    环境变量配置

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

    设置密码

    """
    mysqladmin -uroot -p原密码 password 新密码
    改命令直接在终端输入即可 无序进入客户端
    
    mysqladmin -uroot -p123 password 123456
    """
    

    密码遗忘

    # 1 先关闭当前mysql服务端
     命令行的方式启动(让mysql跳过用户名密码验证功能)
     mysqld --skip-grant-tables  
    # 2 直接以无密码的方式连接
    	mysql -uroot -p   直接回车
    # 3 修改当前用户的密码
    	update mysql.user set password=password(123456) where 		user='root' and host='localhost';
    
    # 4 立刻将修改数据刷到硬盘
    	flush privileges;
    # 5 关闭当前服务端 然后以正常校验授权表的形式启动
    

    统一编码

      """
      需要你自己新建一个my.ini的配置文件
      ini结尾的一般都是配置文件
      程序启动会先加载配置文件中的配置之后才真正的启动
      """
      [mysqld]  # 一旦服务端启动立刻加载下面的配置
      sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
      [mysql]  # 一旦客户端启动立刻加载下面的配置
      ...
      [client]  # 其他客户端
      ...
      # 修改配置文件后一定要重启服务才能生效
    
      [mysqld]
      character-set-server=utf8
      collation-server=utf8_general_ci
      [client]
      default-character-set=utf8
      [mysql]
      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;
    
    """
    create table db2.t1(id int);  也可以用绝对路径的形式操作不同的库
    """
    

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

    """
    一定要先有库 有表 最后才能操作记录
    """
    # 增
    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;
    
  • 相关阅读:
    了解Boost神器
    官方教程避坑:编译ARM NN/Tensorflow Lite
    信号量 PV 操作
    MAC 读写 ntfs 格式的硬盘
    poj题目分类
    Gelfond 的恒等式
    那些scp里的烂梗
    b
    jmeter集合
    Jmeter文章索引贴
  • 原文地址:https://www.cnblogs.com/chenwenyin/p/12808860.html
Copyright © 2011-2022 走看看