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.数据库的相关概念 ******
    age = 18
    一个变量 无法描述清楚数据
    1.称之为一个字段
    age = 18,name = Jack,genger = man
    一堆变量在一起,可以描述清楚数据
    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
7.数据库的引擎 ***
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
 
 
小结
1.数据库是什么?
    mysql 一种DBMS
    是一个CS的socket软件
    数据库服务器
    DBMS
    文件夹 库
    文件  表
    一个完整数据  记录
    单个数据      字段
数据库的分类
    关系型  数据之间存在某种关联 存在硬盘上
    非关系型  数据之间存在某种关联  以key value形式存储  存在内存中
    为什么用mysql
    免费开源 能够支持中小企业使用
    安装两种方式
    1.界面
    2.解压安装
    环境变量
    系统服务
    修改默认秘密
    破解密码
    修改编码(配置文件)
    简单Crete Read Update Delete
 
 
 
 
 
 
 
 
 
 

mysql数据库:mysql初识的更多相关文章

  1. 第二百八十六节,MySQL数据库-MySQL事务操作(回滚)

    MySQL数据库-MySQL事务操作(回滚) 事务用于将某些操作的多个SQL作为原子性操作,一旦有某一个出现错误,即可回滚到原来的状态,从而保证数据库数据完整性. 举例:有这样一张表 从表里可以看出张 ...

  2. 第二百八十五节,MySQL数据库-MySQL函数

    MySQL数据库-MySQL函数 1.MySQL内置函数 SELECT执行函数,后面跟要执行的函数 CHAR_LENGTH(str)函数:返回字符串的字符长度 -- CHAR_LENGTH(str)函 ...

  3. 第二百八十四节,MySQL数据库-MySQL触发器

    MySQL数据库-MySQL触发器 对某个表进行[增/删/改]操作的前后如果希望触发某个特定的行为时,可以使用触发器,触发器用于定制用户对表的行进行[增/删/改]前后的行为. 1.创建触发器基本语法 ...

  4. 第二百八十三节,MySQL数据库-MySQL存储过程

    MySQL数据库-MySQL存储过程 MySQL存储过程,也就是有点像MySQL函数,但是他与MySQL函数是有区别的,后面会讲到函数,所以注意区分 注意:函数与存储过程的区别 存储过程是:CREAT ...

  5. 第二百八十二节,MySQL数据库-MySQL视图

    MySQL数据库-MySQL视图 1.视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. 2.也 ...

  6. MySQL数据库”mysql SQL Error:1146,SQLState:42S02 “解决方法

    项目在开发的时候在Mac平台下开发的,开发完了之后在LINUX环境上部署好之后,运行时MySQL数据库报错,提示为某个表不存在之类的错误信息,后来修改了MySQL的配置文件将大小写敏感去掉,问题解决. ...

  7. MySQL数据库1初识MySQL

    目录 Mysql 一.数据库是什么? 二.为啥使用数据库?(*****) 三.数据库的分类(*****) 1.关系型数据库 2.非关系型数据库 3.关系型与非关系型区别: 四.数据库MySQL的架构 ...

  8. Mysql数据库知识-Mysql索引总结 mysql mysql数据库 mysql函数

    mysql数据库知识-Mysql索引总结: 索引(Index)是帮助MySQL高效获取数据的数据结构. 下边是自己整理的资料与自己的学习总结,,做一个汇总. 一.真的有必要使用索引吗? 不是每一个性能 ...

  9. 第二百九十节,MySQL数据库-MySQL命令行导出导入数据库,数据库备份还原

    MySQL命令行导出导入数据库,数据库备份还原 MySQL命令行导出数据库:1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录如我输入的命令行:cd C:\Program ...

  10. Django 配置MySQL数据库 mysql

    Django 配置MySQL数据库 在settings.py中配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # ...

随机推荐

  1. 数据库版本管理工具--Flyway的使用

    软件开发正常流程是:开发环境 ---> 测试环境  ----> 产环境 在开发过程中经常需要变更数据库: 表结构变更. 基础数据变更. 最直接的做法是:用客户端连上数据库直接修改. 依次修 ...

  2. Linux 查看修改SWAP大小

    1  查看swap 空间大小(总计):     # free -m          默认单位为k, -m 单位为M                total       used       fre ...

  3. 深入理解C语言-结构体做函数参数

    结构体做函数参数,在C语言中属于常见现象,此时为了内存考虑,不传递结构体,而是传递结构体的地址 结构体定义 struct Man { char name[64]; int age; }; 结构体可以与 ...

  4. css 未知子元素宽高的居中

    .parent{ position:relative; } .child{ position:absolute; left:50%; top:50%; transform:translate(-50% ...

  5. 面试总结 | 百度 NLP 实习生

    1. 项目简历:主要体现和招聘要求相关的工作,简历要精简,不要给过多冗余信息.对于每个项目,自己做过的工作,里面用到的方法,要很清楚,工作的motivation.意义等也要清楚. 这次面试中我的问题: ...

  6. Go 采用 time.After 实现超时控制

    场景: 假设业务中需调用服务接口A,要求超时时间为5秒,那么如何优雅.简洁的实现呢? 我们可以采用select+time.After的方式,十分简单适用的实现. time.After()表示time. ...

  7. Stream系列(八)Reduce方法使用

    裁减计算 视频讲解:  https://www.bilibili.com/video/av77715582/ EmployeeTest.java package com.example.demo; i ...

  8. PTA(Basic Level)1033.旧键盘打字

    旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在 2 行中分别给出坏掉的那些键.以及应该输入 ...

  9. 小记--------SparkContext初始化原理机制图解

  10. Tornado WebSocket简单聊天

    Tornado实现了对socket的封装:tornado.web.RequestHandler 工程目录: 1.主程序 manage.py import tornado.web import torn ...