数据库概念

那Mysql能干嘛呢?它就是一款软件,安装在任何一台计算机或者服务器上的时候,只要我告诉它创建一个文件,新增一个数据,删除一个数据它就能帮我去做想要的操作

那我们暂且能不能理解为mysql就是用来帮我们操作文件的!

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

​ -服务端软件

​ -socket服务端

​ -本地文件操作

​ -解析指令

​ -客户端软件

​ -socket客户端

​ -发送指令

​ -解析指令

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

那么问题来了,不同的客户端练我一个服务端,语言不相同无法实现交流。所以应该有共同的语言才行>>>解析指令(sql语句)

技能:

​ -安装 服务端和客户端

​ -链接

​ -学习sql语句规则,指定服务端做任何操作

mysql只是一种能够帮助我们管理数据的软件,还有其他类似的软件也是通过发送指令来帮你管理数据库

其他类似软件:

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

​ 非关系型数据库:mongodb,redis

关系型:彼此之间有约束或者有联系

总结:mysql就是帮助我们远程在文件上做相应操作的

MySQL的安装

mysqld服务端

mysql客户端

软件目录结构初识

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

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

cd D:\mysql56
D:

新开cmd窗口启动mysql客户端

链接mysql:

mysql -h 127.0.0.1 -P 3306 -uroot -p 密码不输,直接回车

如果是在本机登陆mysqld服务端,可以简写为mysql -uroot -p

客户端服务端请求流程分析

show databases诠释文件夹和库概念

环节变量配置

系统服务制作(制作之前一定要先把mysql关闭)

# 查看mysqld进程
tasklist |findstr mysqld
# 杀死mysqld进程
taskkill /F /PID 'PID号'

将mysqld这款软件做成系统服务软件

mysqld --install

查看计算机当前运行程序数

services.msc

修改密码与破解管理员密码

mysqladmin -uroot -p password "123"

# 第一次修改完密码以后,之后还修改密码需要
mysqladmin -uroot -p123 password "123456"
# 为了后续调试方便,这里把密码设为空值
mysqladmin -uroot -p123 password "新密码"

破解密码

  • 先关闭mysqld服务端

  • 以跳过授权表的方式在命令行中启动mysqld服务端

    mysqld --skip-grant-tables
  • 客户端直接以无密码的方式登陆root用户修改密码

    mysql -uroot -p
  • 修改管理员密码

    update mysql.user set password=password("123") where user="root" and host="localhost";
    flush privileges; # 刷新权限
  • 命令行杀死mysqld服务

    tasklist |findstr mysqld
    taskkill /F /PID 'PID'
  • 服务管理正常启动mysqld

统一字符编码

mysql命令:"\s" 查看编码

修改配置文件,执行时会自动查找my.ini文件

mysql不输用户名和密码,会默认以游客模式登陆,不好!

# my.ini配置文件特点
[mysql]
#终端输入mysql打头的命令就会加载下面的配置
username='root' # 演示确实加载改文件,但是username叫user才正确
password = '123'
[mysqld]

通用配置

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci [client]
default-character-set=utf8 [mysql]
default-character-set=utf8

mac系统

finder中切换到默认安装路径下/usr/local/mysql

下面就是一大堆文件目录

配置文件是my.cnf,没有int等windows上的配置文件

基本sql语句

对数据的增删改查

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

  • 针对文件夹的(库)

    # 增
    create database db1 charset utf8;
    # 改
    alter database db1 charset gbk;
    # 查
    show databases;
    show create database db1;
    # 删
    drop database db1;
  • 针对文件的(表)

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

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

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

表操作

存储引擎

文件格式有很多种,对应的软件也有很多种txt,pdf等

针对不同类型的文件,需要对应有不同的软件帮助我们去操作

# 查看所有的存储引擎
show engines; # 查看不同存储引擎存储表结构文件特点
create table t1(id int)engine=innodb;
create table t2(id int)engine=myisam;
create table t3(id int)engine=blackhole;
create table t4(id int)engine=memory; insert into t1 values(1);
insert into t2 values(1);
insert into t3 values(1);
insert into t4 values(1);

MySQL基础指令和安装的更多相关文章

  1. MySQL基础环境_安装配置教程(Windows7 64或Centos7.2 64、MySQL5.7)

    MySQL基础环境_安装配置教程(Windows7 64或Centos7.2 64.MySQL5.7) 安装包版本 1)     VMawre-workstation版本包 地址: https://m ...

  2. mysql基础指令知识

    桌面指令(cmd)进入mysql客户端 第一步:安装mysql,配置环境变量 第二步:手动开启服务 第三步:输入如下指令: mysql [-h localhost -P 3306] -u  用户名 - ...

  3. mysql基础之yum安装mysql5.7.18

    2017-04-19 一.实验环境 centos7_x64 由于centos7的yum源里默认使用了mariadb替代了mysql,所有我们还得先配置一下yum源.当然mariadb和mysql是兼容 ...

  4. mysql 基础指令/命令

    1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root - ...

  5. MySQL基础/数据库和表的设计

    MySQL基础 一:安装MySQL(按步骤操作,如果下载后使用不了,试着用360安全卫士卸载MySQL,清除残留的,方便在下载造成不必要的麻烦:如果这样也不行,那就需要重做系统在进行下载) 二:创建数 ...

  6. Mysql基础(一):Mysql初识、基本指令、数据库密码相关、创建用户及授权

    来源:https://www.cnblogs.com/liubing8/p/11432534.html 目录 数据库01 /Mysql初识.基本指令.数据库密码相关.创建用户及授权 1. 数据库概述 ...

  7. redis基础:redis下载安装与配置,redis数据类型使用,redis常用指令,jedis使用,RDB和AOF持久化

    知识点梳理 课堂讲义 课程计划 1. REDIS 入 门 (了解) (操作)   2. 数据类型 (重点) (操作) (理解) 3. 常用指令   (操作)   4. Jedis (重点) (操作) ...

  8. Mysql数据库的二进制安装和基础入门操作

    前言:Mysql数据库,知识非常的多,要想学精学通这块知识,估计也要花费和学linux一样的精力和时间.小编也是只会些毛皮,给大家分享一下~ 一.MySQL安装 (1)安装方式: 1 .程序包yum安 ...

  9. (3.2)mysql基础深入——mysql源码阅读工具安装与应用

    (3.2)mysql基础深入——mysql源码阅读工具安装与应用 关键字:mysql源码阅读工具 工具列举:一般多用[1][2][3]吧 [1]source insight [2]写字板/记事本 UE ...

随机推荐

  1. Java 函数式编程—@FunctionalInterface----functional interface

    单一函数接口,可以使用拉姆达表达式的形式具体化和实例化. 本质是将接口函数签名化. 如定义了一个函数式接口如下: @FunctionalInterface interface GreetingServ ...

  2. java架构之路-(JVM优化与原理)JVM的运行时内存模型

    还是我们上次的图,我们上次大概讲解了类加载子系统的执行过程,验证,准备,解析,初始化四个过程.还有我们的双亲委派机制. 我们这次来说一下运行时内存模型.上一段小代码. public class Mai ...

  3. Prometheus监控学习笔记之Prometheus查询无数据或者Grafana不显示数据的诡异问题

    0x00 概述 Prometheus和Grafana部署完成后,网络正常,配置文件正常,抓取agent运行正常,使用curl命令获取监控端口数据正常,甚至Prometheus内的targets列表内都 ...

  4. .NET Core 使用NPOI读取Excel返回泛型List集合

    我是一名 ASP.NET 程序员,专注于 B/S 项目开发.累计文章阅读量超过一千万,我的博客主页地址:https://www.itsvse.com/blog_xzz.html 网上有很多关于npoi ...

  5. Vertx和Jersey集成使用

    为了更好地解耦和提高性能,一般将工程的接口部分剥离出来形成一个单独的工程,这样不仅能提高性能,增强可维护性,并且在后台工程宕掉的话对客户端接口的影响较小. 公司使用了Vertx和Jersey,Vert ...

  6. 如何优雅地使用腾讯云COS-.NET篇

    如何优雅地使用腾讯云COS-.NET篇 代码下载地址 https://github.com/whuanle/txypx20190809 前提 创建子账号 打开 https://console.clou ...

  7. scrapy框架抓取表情包/(python爬虫学习)

    抓取网址:https://www.doutula.com/photo/list/?page=1 1.创建爬虫项目:scrapy startproject biaoqingbaoSpider 2.创建爬 ...

  8. echarts白色实心环形图(空心饼图)的编写

    // 数据接入机构统计let myDom = document.getElementById('myChart');let myWidth = myDom.offsetWidth - 5; // 获取 ...

  9. E203译码模块(3)

    下面的代码译码出指令的立即数,不同的指令有不同的立即数编码形式. //I类型指令的imm,[31:20],符号位扩展成32位. wire [31:0] rv32_i_imm = { {20{rv32_ ...

  10. Python:tarxjb简单、安全文件拷贝、传输

    tarxjb 简单.安全文件拷贝.传输 描述 通过python paramiko库实现简易ssh.sftp执行操作,从而实现文件的远程传输 Github 优点: 可靠传输,文件不易受损 安全传输,避免 ...