zoukankan      html  css  js  c++  java
  • MySQL数据库

    MySQL数据库

    一、数据库概念

    1. 随意的存放到一个文件中,数据格式也是千差万别
    2. 软件开发目录规范
      规定了数据 存放的位置
      ps:数据都是保存在本地的
    3. 将保存数据的部分,存到一个公共的地方,所有的用户涉及到数据相关,都必须来这个公共地方查找

    二、数据库之MySQL

    1. 本质就是一款基于网络通信的应用软件
      任何基于网络通信的软件,底层都是socket
    2. 服务端
      基于socket通信
      收发消息
      SQL语句
    3. 客户端
      基于socket通信
      收发消息
      SQL语句

    ps:MySQL不单单支持MySQL的客户端来操作,也支持其他编程语言(python,java,c++等)直接操作

    三、数据库管理系统(DBMS)

    1. 数据库分类
      关系型数据库:MySQL,Oracle,sqlite,db2,sql server

      非关系型数据库:Redis,MongoDB(文档型数据库,非常接近关系型的非关系型数据库),MemCache

    2. 关系型数据库

      数据与数据之间可以有关联和限制
      关系型数据库通常都是表结构,也就意味着你在用关系型数据库的时候,第一步就是确定表结构(字段:字段名+字段类型)

      字段有特定的类型:

      ​ 存名字用字符串

      ​ 存密码用数字

      ​ 存生日用日期

    3. 非关系型数据库
      通常都是以k,v键值的形式存储数据

    4. MySQL其实可以把它看做一款支持远程操作文件的软件
      库>>>文件夹

      表>>>文件

      记录>>>文件内一行行的数据叫做一条条的记录

      ​ 表头:就是表格的第一行数据

      ​ 字段:字段名+字段类型

    四、安装MySQL

    1. 在IT行业,不要轻易尝试最新版本的软件

    2. 下载之后,是将MySQL的服务端和客户端都下载了下来
      解压
      查看文件目录
      bin目录下

      ​ mysql客户端

      ​ mysqld服务端

    3. 启动mysql和mysqld

      打开两个cmd窗口

      切换到bin目录下

      输入mysqld,启动服务端

      输入mysql -h 127.0.0.1 -P 3306 -uroot -p,然后回车,会出现enter password

      ​ mysql在初始登录的时候,是没有密码的,直接回车即可

      ​ 可以简写mysql -uroot -p(不写ip+端口号)

      ​ 如果不输入用户名和密码(输入mysql直接回车),默认是方可模式登录,所能用的功能很少

    4. cmd终端打的打开方式
      做前期MySQL配置时,建议你用管理员身份运行cmd终端

      通过Windows+r,打开运行窗口,输入cmd打开的终端是以普通身份进入的

      在搜索栏搜索cmd,然后右键以管理员身份运行才是以管理员身份打开终端

    5. 添加环境变量

      将启动文件所在的路径添加到系统的环境变量中——在cmd终端中不需要切换当前路径就可以直接打开mysql和mysqld

      ps:配置完之后一定要重新启动mysql服务端以及cmd终端

    6. 将mysqld制作成系统服务

      目的:不需要每次都先开启mysqld服务端(可以将服务设置成开机自启动)

      制作系统服务,你的cmd终端一定要是管理员身份

      输入mysqld --install即可

    7. 修改密码(不需要进入mysql中,只在你记得密码的情况下有效)

      输入mysqladmin -uroot -p password 123(123是你想要设置的密码)回车

      出现enter password(提示你输入原来的密码,输入正确即可修改原来的密码)

    8. 在你不记得密码的情况下,破解密码

      将已经启动的服务端停掉

      跳过用户名和密码的验证功能,启动服务端

      ​ mysqld --skip-grant-tables 启动服务端,跳过授权表

      修改管理员用户对应的密码

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

      关闭当前服务端 重新以校验用户名密码的方式启动

      正常以用户名密码的方式,连接mysql服务端

    9. 配置文件

      s查看,mysql服务端简单配置

      通常情况下配置文件的后缀都是ini结尾

      mysql自带的配置文件不要修改

      但是你可以新建一个配置文件 my.ini

      mysql服务端在启动就会自动加载你的my.ini配置文件内的配置

      修改完配置文件之后需要先将服务端停止,重新启动,才能生效

      修改了配置文件一定要重启服务端

    10. 客户端退出程序

      exit;

      quit;

    11. 查看某个进程、杀死进程(必须以管理员身份运行)

      tasklist |findstr 进程名

      taskkill /F /PID 进程号

    五、数据库的基本操作

    1. 库(类似于文件夹)

      增 create database db1;(库名)

      查 show databases;查所有

      ​ show create database db1;查单个

      改 alter databases db1 charset='gbk';修改编码

      删 drop database db1;删库

    2. 在创建表的时候,需要先指定库

      ​ 指定库:use 库名

      ​ 查看当前所在的库:select database()

      增 create table userinfo(id int,name char);(表名(字段名+字段类型,之间用逗号隔开))

      查 show tables;查看某个库下面的所有的表

      ​ show create table userinfo;查看某个表

      ​ desc userinfo;等价于describe userinfo;查看表的信息

      改 alter table userinfo modify name char(32);

      删 drop table userinfo;

    3. 记录

      先创建一个库或者指定一个已经存在的库

      切换带该库下 创建表

      然后再操作记录

      create database db1;

      create table userinfo(id int,name char(32),password int);

      增 insert into userinfo value(1,'jason',123);插入单条数据

      ​ insert into userinfo values(1,'jason',123),(2,'egon',123),(3,'tank',123);插入多条数据

      查 select * from userinfo;查询所有的字段信息

      ​ select name from userinfo;查询指定字段信息

      ​ select id,name from userinfo where id=1 or name='tank';带有筛选条件的字段信息

      改 update userinfo set name='kevin' where id=1;修改数据的一个字段信息

      ​ update userinfo set name='jason',password=666 where id=1;修改数据的多个字段

      删 delete from userinfo where id=1;指定删除符合条件的数据

      ​ delete from userinfo;将表中的数据全部删除

  • 相关阅读:
    u-boot mkconfig文件分析
    uboot的lds文件分析
    gitlab webhook jenkins 403问题解决方案
    【python】将json串写入文件,并以json格式读取出来
    sqlalchemy 中 desc 的使用
    【mysql】如何通过navicat配置表与表的多对一关系,一对一关系?设计外键的效果
    【mysql】一对一关系的理解,以及Navicat Premium怎么设置字段的唯一性(UNIQUE)?
    【mysql】时间类型-如何根据不同的应用场景,选择合适的时间类型?
    Navicat Premium Mac 12 破解方法-亲测成功
    【linux】cp 批量复制文件
  • 原文地址:https://www.cnblogs.com/DcentMan/p/11380537.html
Copyright © 2011-2022 走看看