• MySQL数据库 初识


    1.什么是数据库 *****
      存放数据的仓库
      已学习的文件操作的缺陷
      1.IO操作 效率问题
      2.多用户竞争数据
      3.网络访问
      4.用户的验证
    2.常见的数据库
      关系型 数据之间存在某种关联关系
      oracle 目前最好关系型数据库,体现在用户管理,分布式,商业用途收费
      mysql免费开源,功能支持没有oracle强 但是足以满足中小企业使用先后被sun 和 oracle 收购
      mysql创始人wedenius担心 mysql会闭源 于是另起灶炉 搞了marriaDB
      mariaDB和mysql 使用方法一模一样
      sqlServer
      属于微软生态链,需要和windows配合使用
      DB2
      IBM开发的大型关系型数据库 ,收费的,通常与硬件捆绑销售

      非关系型 数据以key -value的形式来存储 数据存在内存中 速度快
      mongoDB
      redis
      memercach

    2.数据库的相关概念 ******
      一个变量 无法描述清楚数据
      1.称之为一个字段

      一堆变量在一起,可以描述清楚数据
      2.称之为一条记录 对应着文件中的一行

      文件需要分门别类 每个文件存储不同的数
      3.一个文件称之为表

      文件越来越多 得分文件夹
      4.一个文件称之为库

      数据库中包含所有内容:
      字段(列)
      记录
      表
      库
      DBMS 数据库管理系统
      数据库服务器
      一个库可以包含多个表 一个表可以包含多条记录 一条记录中有多个字段

      数据库是什么,本质上就是一套C/S架构得socket软件

    3.安装数据库与配置使用环境 ***
      1.代码界面 傻瓜式安装 记住密码
      2.绿色解压版
      1. 5.7以后的版本需要先初始化 mysqld --initialize-insecure
      2.启动需要先进入安装目录 比较麻烦 需要添加到环境变量
      打开环境变量 将mysql安装目录下的bin加入path变量
      3.将mysqld 加入到windows的系统服

      4.绿色版修改默认密码
      修改默认密码需要先登录成功
      执行update语句直接修改 user表中的密码
      5.7
      update mysql.user set authentication_string = password("root") where user = "root";
      5.6
      update mysql.user set password = password("root") where user = "root";

      修改密码方式2 不需要登录 需要知道旧密码
      mysqladmin -uroot -p旧密码 password 123

      破解密码,当忘记密码时 无法登录 也就不能值执行update语句
      思路:
      1.启动服务器时 控制它不要加载授权表
      2.无密码登录服务器
      3.执行update mysql.user set authentication_string = password("root") where user = "root"
      4.重启服务器

      用到的系统指令:
      mysqld 直接运行服务器程序
      mysqld --skip-grant-tables 跳过授权表 用于重设密码
      tasklist | findstr mysqld taskkill /f /pid 结束服务器程序
      mysql 运行客户端程序 -u用户名 -p密码 -h主机地址 -P端口号
      mysqld --install 将mysqld注册当windows服务中 在服务中叫MySQL
      windows就是绑定了一个exe程序
      sc delete mysql 删除windows服务
      exit 退出客户端

      5.简单的sql语句 *****
      针对库的相关操作
      增
      create database 库名称
      删
      drop database 库名称
      改
      alter database 库名称 要改的属性名称
      alter database db1 DEFAULT CHARACTER SET utf8;
      alter database db1 CHARSET utf8;
      注意 在mysql中 utf-8 不能带- 写成utf8
      查
      show databases查看所有数据库
      show create databases 库名称 查看建库的语句
      命名规范:
      1.不能使用纯数字
      2.可以是数字 字母 下滑线的组合
      3.可以下滑线开头
      4.不能是关键字 如create
      大致和python相同
      不区分 大小写

      表相关的操作
      增
      建表时要明确数据库
      use db1;
      create table 表名称(字段名 类型(长度),....)
      create table dog(nikename char(10),gender char(1),age int)
      #创建时同时指定数据库
      create table 库名称.表名称(字段名 类型(长度),....)
      删
      drop table 表名;

      改
      alter table 表名称 drop|change|modify|add
      drop 字段名称
      alter table dog drop color;

      change 旧的字段名 新的字段名 新的类型
      alter table dog change gender sex char(2);

      modify 字段名 新的类型
      alter table dog modify color char(5);

      add 字段名称 类型
      alter table dog add color char(10);
      重命名表
      rename table 旧表名称 to 新表名称
      rename table dog to dogtable;

      修改表的属性
      alter table 表名 属性名 值;
      alter table dogtable DEFAULT CHARSET gbk;

      查
      show tables;查看所有表
      desc 表名称; 查看表结构
      show create table 表名;查建表语句
      记录相关操作
      增
      inert into 表名 values(值1,值2.....)
      删
      delete from 表名 where 字段名称 = 值
      没有条件的话删除全部数据
      改
      update 表名 set 字段名 = 新的值 where 字段名 = 值
      没有条件的话修改全部
      查
      select *from 表名; *表示通配符 查看所有字段
      select 字段名称1,字段名2.. from 表名;

    6.修改默认编码
      配置文件放在安装路径根目录中 就是和bin同级 名称必须叫my.ini
      #客户端的配置
      [client]
      #mysql这个客户端的配置
      [mysql]
      user = root
      password = root
      default-character-set = utf8
      #服务器端的配置
      [mysqld]
      character-set-server = utf8

    8. 5.6 与5.7的区别
      1. 5.7需要初始化
      2. 5.6游客模式 没有密码可以登录 但是无法操作数据
      只能看到 information_schema mysql
      3. 5.7中 data数据存放目录 是由初始化时决定
      带界面的 在C:ProgramData中
      不带界面的就在安装目录中
      5.6就在安装目录中
      4.密码存储字段名 在5.6中时password 5.7中叫authentication_string

  • 相关阅读:
    数据库:数据操作-数据的增删改
    数据库:表操作-完整性约束
    数据库:表操作-枚举类型与集合类型
    数据库:表操作-字符串类型
    数据库:表操作-数据类型(日期类型)
    数据库:表操作-数据类型(数值类型)
    python并发编程:IO模型比较分析
    java学习(二)--excel导出
    格式化字段
    myeclipse的常用快捷键
  • 原文地址:https://www.cnblogs.com/unbrokenlin/p/9983543.html
Copyright © 2020-2023  润新知