zoukankan      html  css  js  c++  java
  • mysql数据库: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

    二、数据库的相关概念 

        age = 18
        一个变量 无法描述清楚数据
        数据称之为一个字段
     
        age = 18,name = Jack,genger = man
        一堆变量在一起,可以描述清楚数据
        称之为一条记录 对应着文件中的一行
     
        文件需要分门别类 每个文件存储不同的数
        一个文件称之为表
     
        文件越来越多 得分文件夹
        一个文件夹称之为库
     
        数据库中包含所有内容:
        字段(列)
        记录
        表
        库
        DBMS  数据库管理系统
        数据库服务器
        一个库可以包含多个表  一个表可以包含多条记录  一条记录中有多个字段
        数据库是什么,本质上就是一套C/S架构得socket软件
     

    三、安装数据库与配置使用环境 

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

    四、绿色版修改默认密码

        修改默认密码需要先登录成功
        执行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 退出客户端
     

    五、简单的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 database 库名称 ;
     

        命名规范:
            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 表名;
     

    六.修改默认编码

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

    七、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
     
     
    小结
    1.数据库是什么?
        mysql 一种DBMS
        是一个CS的socket软件
        数据库服务器
        DBMS
        文件夹 库
        文件  表
        一个完整数据  记录
        单个数据      字段
    数据库的分类
        关系型  数据之间存在某种关联 存在硬盘上
        非关系型  数据之间存在某种关联  以key value形式存储  存在内存中
        为什么用mysql
        免费开源 能够支持中小企业使用
        安装两种方式
        1.界面
        2.解压安装
        环境变量
        系统服务
        修改默认秘密
        破解密码
        修改编码(配置文件)
        简单Crete Read Update Delete
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    第二周
    第一周
    构建之法阅读笔记之三
    冲刺一(10)
    冲刺一(9)
    用户模板和用户场景
    冲刺一(8)
    第10周总结
    冲刺一(7)
    冲刺一(6)
  • 原文地址:https://www.cnblogs.com/wuzhengzheng/p/10273451.html
Copyright © 2011-2022 走看看