zoukankan      html  css  js  c++  java
  • mysql数据库介绍

    mysql数据库

    什么是数据库

    # 用来存储数据的仓库
    # 数据库可以在硬盘及内存中存储数据
    # 数据库与文件存储数据区别
    # 数据库本质也是通过文件来存储数据, 数据库的概念就是系统的管理存储数据的文件

    数据库介绍

    数据库服务器端: 存放数据库的主机集群
    数据库客户端: 可以连接数据库的任意客户端
    数据库管理员: DBA
    ​
    # socket套接字的C/S架构应用

    数据库基本概念

    # 重要性: ***
    # 库: 多表构建一个数据库, 本质就是文件夹
    # 表: 多条数据构建一张表, 本质就是文件
    # 记录: 存放一条条数据, 本质就是文件中一条条数据记录
    # (字段)id, name, age, gender...一个老师的数据 => 一条数据记录

    数据库分类

    # 重要性: ***
    # 关系型数据库
    # 1.有表的概念
    # 2.以表中一条条记录存储数据
    # mysql oracle sqlServer access db2
    ​
    ​
    # 非关系型数据库
    # 1.没有表的概念
    # 2.通过key-value键值对方式存储数据
    # mongodb redis memcache

    Mysql数据库简介

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

     

    数据库安装

    # 安装server端与client端
    ​
    ​
    # 如何启动server? 如果通过client连接server

    数据库启动与连接

    # 前提:配置环境变量
    # 了解
    # 1.前往数据库安装路径,bin文件夹下,cmd执行 mysqld 启动mysql服务器端
    # 2.前往数据库安装路径,bin文件夹下,cmd执行 mysql 启动mysql客户端连接服务器端
    # 掌握
    # 将mysql服务器添加到系统服务,在系统服务中启动mysql, 命令:  mysqld --install
    # 进入系统服务: win+r => services.msc => 找到mysql服务手动启动或关闭
    # 连接数据库:mysql -hlocalhost -P3306 -uroot -p
    # 通过最高权限进入数据库, 要采用root用户进入, 连入本地数据库: mysql -uroot -p
    # 查看mysql版本: select version();
    # 查看当前用户: select user();
    # 查看mysqld下的(当前用户可以操作的)所有数据库: show databases; 

    将mysql添加到系统服务设置中去

    ###下载安装详细步骤
    #1、下载:MySQL Community Server 5.7.16
    http://dev.mysql.com/downloads/mysql/#2、解压
    如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录,如:C:mysql-5.7.16-winx64
    ​
    #3、添加环境变量
    【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【将MySQL的bin目录路径追加到变值值中,用 ; 分割】
     
    #4、初始化
    mysqld --initialize-insecure
    ​
    #5、启动MySQL服务
    mysqld # 启动MySQL服务
    #6、启动MySQL客户端并连接MySQL服务
    mysql -u root -p # 连接MySQL服务器
    ​
    上一步解决了一些问题,但不够彻底,因为在执行【mysqd】启动MySQL服务器时,当前终端会被hang住,那么做一下设置即可解决此问题:
    ​
    注意:--install前,必须用mysql启动命令的绝对路径
    # 制作MySQL的Windows服务,在终端执行此命令:
    "c:mysql-5.7.16-winx64inmysqld" --install
     
    # 移除MySQL的Windows服务,在终端执行此命令:
    "c:mysql-5.7.16-winx64inmysqld" --remove
    ​
    注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令:
    # 启动MySQL服务
    net start mysql   #在cmd中手动启动命令 也可以直接在services.msc中将器设置为开机自启项。
    # 关闭MySQL服务
    net stop mysql
    View Code 

    密码操作

    # ***
    # 知道旧密码
    #方法一:登录之前修改密码: mysqladmin -uroot -p旧密码 password "新密码"
    #方法二:登录后修改密码:set password for root@localhost=password("新密码")
    ​
    ​
    # **
    # 遗忘旧密码
    方法一:
    首先先关闭系统服务中已经启动的mysql服务端
    # 1.绕过授权表启动服务(安全认证的服务停止): mysqld --skip-grant-tables;
    # 2.以任意密码登录root用户: mysql -uroot -P任意
    # 3.更新密码: update mysql.user set password=password("新密码") where user=root and host="localhost";
    # 4.刷新权限: flush privileges;
    ​
    方法二:
    #1. 关闭mysql,可以用tskill mysqld将其杀死
    #2. 在解压目录下,新建mysql配置文件my.ini
    #3. my.ini内容,指定
    [mysqld]
    skip-grant-tables
    #4.启动mysqld
    #5.在cmd里直接输入mysql登录,然后操作
    update mysql.user set authentication_string=password('') where user='root and host='localhost';
    flush privileges;
    ​
    #6.注释my.ini中的skip-grant-tables,然后启动myqsld,然后就可以以新密码登录了

    统一字符编码

    # ***
    # 查看数据库配置信息: s => 统一编码 => 防止乱码(读取不方便,数据丢失)
    # 1.在mysql安装根目录下:创建my.ini (my.cnf) (命令:type nul>文件名.文件后缀)
    # 2.设置配置信息并保存
    [mysqld]
    #port=7777 注释
    character-set-server=utf8  #不能写成utf-8(会配置失败)
    collation-server=utf8_general_ci
    [client]
    default-character-set=utf8
    # 3.重启服务
    ​
    ​
    #1. 修改配置文件
    [mysqld]
    default-character-set=utf8 
    [client]
    default-character-set=utf8 
    [mysql]
    default-character-set=utf8
    ​
    #mysql5.5以上:修改方式有所改动
    [mysqld]
    character-set-server=utf8 
    collation-server=utf8_general_ci
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
    ​
    #2. 重启服务
    #3. 在cmd终端进入mysql客户端后查看修改结果命令:
    s
    show variables like '%char%'

    库的基本操作

    # 前提: 连接上数据库
    # 1.增,创建数据库
    # 采用默认编码集: create database db1;  # db1为数据库名
    # 自定义编码集: create database db1 charset="gbk";
    # 2.查,查看数据库全部信息
    # 纵观所有数据库: show databases;
    # 详细信息: show create database db1;
    # 3.改,修改数据库编码集
    # alter database db1 charset="utf8";
    # 4.删, 移除数据库
    # drop database db1;

    表的基本操作

    #前提: 在具体的某个库下创建表
    # 进入指定数据库: use db1
    # 确定当前使用的数据库: select database();
    #1.增, 创建表(字段1 类型, ..., 字段n 类型)
    # create table t1(name char, age int);
    # 2.查,查看表信息
    # 纵观所有数据库: show tables;
    # 详细信息: show create table t1;
    # 表字段结构信息: desc t1;
    # 3.改
    # 修改字段属性: alter table t1 modify name char(20);
    # 修改字段名: alter table t1 change name usr char(16);
    # 修改表名: alter table t1 rename t2;
    # 4.删, 移除表
    # drop table t1;

    字段的基本操作

    # 前提: 知道具体操作的是哪张表
    # 1.增, 添加字段
    # insert into t1 (usr, age) values ("aa", 18),("bb", 8);
    # 2.查
    # select * from t1;
    # 3.改
    # update t1 set age=28 where usr="aa";
    # 4.删
    # delete from t1 where age>8;

     

  • 相关阅读:
    《命运赋》
    CSS3中的 transform (变形)+Transition(转换) = animation(动画)
    c#进阶之泛型
    正则表达式运用
    查询某时间段的统计数据
    很好用的request转换为实体方法还有判断实体所有参数不能为空的方法
    http 协议集合,超级简单
    今天无意发现jquery的一个以前的误导
    IFRAM随内部长宽高变化
    就最近学习MVC4.0的页面用法学到的东西
  • 原文地址:https://www.cnblogs.com/peng-zhao/p/10235483.html
Copyright © 2011-2022 走看看