数据库概念

那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. 使用 jQuery.TypeAhead 让文本框自动完成 (二)(访问远程数据)

    项目地址:https://github.com/twitter/typeahead.js 直接贴代码了: @section headSection { <script type="te ...

  2. Mybatis中的Mapper.xml映射文件sql查询接收多个参数

    ​ 我们都知道,在Mybatis中的Mapper.xml映射文件可以定制动态SQL,在dao层定义的接口中定义的参数传到xml文件中之后,在查询之前mybatis会对其进行动态解析,通常使用#{}接收 ...

  3. Window权限维持(六):BITS Jobs

    Windows操作系统包含各种实用程序,系统管理员可以使用它们来执行各种任务.这些实用程序之一是后台智能传输服务(BITS),它可以促进文件到Web服务器(HTTP)和共享文件夹(SMB)的传输能力. ...

  4. Mvc 入门及基础了解

    用于表示一种软件架构模式.它把软件系统分为三个基本部分 _模型(Model), _视图(View) _和控制器(Controller). 其中主要代码是 路由 配置默认的路径: 默认配置 是 Home ...

  5. codeforces #579(div3)

    codeforces #579(div3) A. Circle of Students 题意: 给定一个n个学生的编号,学生编号1~n,如果他们能够在不改变顺序的情况下按编号(无论是正序还是逆序,但不 ...

  6. mac下安装php7.2、mysql5.7、nginx环境

    本篇文章是通过homebrew安装,home brew对于Mac相当于centos 的yum一样方便简单,大家可以先去安装home brew.网上很多简单靠谱的例子,这里不写了 一.准备条件为了安装最 ...

  7. linux 环境下部署 Asp.Net Core 项目 访问 oralce 数据库

    1.ASP.NET Core 是一个跨平台的高性能开源框架,可以部署到Linux上,那项目部署在Linux上有哪些好处呢? 1.linux硬件需求小,大部分版本免费,成本低. 2.linux的用户管理 ...

  8. Docker Desktop for Windows 安装步骤

    Docker Desktop for Windows 安装要求 Docker Desktop for Windows需要运行Microsoft Hyper-V.如果需要,Docker Desktop ...

  9. (九)分布式服务----Zookeeper注册中心

    ==>>点击查看本系列文章目录 首先看一下几种注册中心: 最老的就是Zookeeper了, 比较新的有Eureka,Consul 都可以做注册中心.可以自行搜索对比三者的优缺点. Zook ...

  10. vue中使用axios进行ajax请求数据(跨域配置)

    npm安装axios npm install axios --save 引入axios import axios from 'axios' 使用axios mounted () { this.getH ...