zoukankan      html  css  js  c++  java
  • MySQL的基本使用

    初识数据库

    为什么要用数据库

      第一,将文件和程序存在一台机器上是很不合理的。
    
      第二,操作文件是一件很麻烦的事

    所以就出现了一个新的概念 ---- 数据库

      你可以理解为 数据库 是一个可以在一台机器上独立工作的,并且可以给我们提供高效、便捷的方式对数据进行增删改查的一种工具。

      如此就帮助我们解决了上面出现的问题,如果将所有的数据都存储在一个独立的机器上,而对用户提供服务的机器只是存放你写的代码。

    数据库的优势:

    1.程序稳定性 :这样任意一台服务所在的机器崩溃了都不会影响数据和另外的服务。
    
    2.数据一致性 :所有的数据都存储在一起,所有的程序操作的数据都是统一的,就不会出现数据不一致的现象
    
    3.并发 :数据库可以良好的支持并发,所有的程序操作数据库都是通过网络,而数据库本身支持并发的网络操作,不需要我们自己写socket
    
    4.效率 :使用数据库对数据进行增删改查的效率要高出我们自己处理文件很多

    初识MySQL

    数据库管理软件分类

      管理数据的工具有很多种,不止mysql一个.根据它们存取数据的特点来划分,主要分为关系型和非关系型.

      可以简单的理解为,关系型数据库需要有表结构,非关系型数据库是key-value存储的,没有表结构

    关系型数据库:MySQL,db2,split,Oracle,sql server
    非关系型数据库:MongoDB(文档型数据库 非常接近关系型的非关系型数据库),Redis,memcache

    关系型数据库通常都是表结构,也就意味着你在用关系型数据库的时候第一步就是确定表结构

    字段有特定的类型:存名字用字符串  存密码用数字  存生日用日期

    MySQL

      MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
      MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
      MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

    MySQL其实可以把它看成一款支持远程操作文件的软件

    库 >>> 文件夹

    表 >>> 文件

    记录 >>> 文件内一行行的数据叫做一条条的记录

    表头  就是表格的第一行数据

    字段  字段名+字段类型

    下载和安装

      mysql为我们提供开源的安装在各个操作系统上的安装包,包括ios,linux,windows。

      mysql的安装、启动和基础配置 —— linux版本 (https://www.cnblogs.com/Eva-J/articles/9664401.html)

      mysql的安装、启动和基础配置 —— mac版本 (https://www.cnblogs.com/Eva-J/articles/9664401.html)

      mysql的安装、启动和基础配置 —— windows版本 (https://www.cnblogs.com/Eva-J/articles/9669675.html)

    ps:做前期MySQL配置的时候 终端建议你用管理员身份运行

      Windows+r 启动的是普通用户

      MySQL在初识登陆的时候  是没有密码的  直接回车即可

      MySQL中的sql语句 是以分号结束的  不敲分号  默认你没有输入完客户端还会继续让你输入

    客户端登陆
        mysql -h 127.0.0.1 -p 3306 -uroot -p
        可以简写
        mysql -uroot -p
    
        如果不输入用户名的密码  默认是访客模式登陆  所能用到的功能很少
    
    客户端退出登陆
        exit;
        quit;
    
    查看所有的数据库
        show databases;
    
    查看某个进程
        tasklist |findstr 名称
    杀死进程
        taskkill /F /PID 进程号
    制作环境变量
        将启动文件所在的路径添加到系统的环境变量中
        注意:配置完之后一定要重新启动mysql服务端及cmd终端
    将mysql制作成系统服务
        制作系统服务 cmd终端一定要是管理员身份
        mysql --install
    修改密码
        没有密码的情况下
            mysqladmin -uroot -p password 123
        有密码的情况下
            mysqladmin -uroot -p123 password 321
         当命令输入错误的时候  可以用c取消前面的命令  cancel
    
    破解密码
        先将已经启动的服务端停掉
        1.跳过用户名的密码的验证功能  启动服务端
            mysql --skip-grant-tables  启动服务端  跳过授权表
        2.修改管理员用户对应的密码
            update mysql.user set password=password(123) where user='root' and host='localhost';
        3.关闭当前服务端  重新以校验用户名密码的方式启动
        4.正常以用户名密码的方式  连接mysql服务端
    配置文件
        s查看 mysql服务端简单配置
        通常情况下配置文件的后缀都是ini结尾
    
        mysql自带的配置文件不要修改
        但可以新建一个配置文件 my.ini
        mysql服务端在启动的时候就会自动加载你的my.ini配置文件内的配置
        修改完配置文件之后需要先将服务端重新启动  才能生效
        修改了配置文件一定要重启服务端
    数据库的基本操作
        库      类似于文件夹
            增
                create database db1;
            查     
                show databases;  查所有
                show create database db1; 查单个
            改
                alter database db1 charset='gbk';  修改编码
            删 
                drop database db1;  删库
    
        表 
            在创建表的时候  需要先指定库
                 指定库:use 库名
                 查看当前所在库: select database()
            增
                create table userinfo(id int,name char);
             查
                show tables;  查看某个库下面的所有的表
                show create table userinfo;
                desc userinfo;  <==>  descirbe  userinfo;
            改
                alter table userinfo modify name char(32);
            删
                drop table userinfo;
         记录
                先创建一个或指定一个已经存在的库
                切换到该库下  创建表
                然后再操作记录
                create database db1;
                create table userinfo(id int,name char(32),password int);
                
                增
                    insert into userinfo values(1,'yzy',123);  插入单条数据
                    insert into userinfo values(1,'zmm',123),(2,'czh',123);插入多条数据
                查
                    select * from userinfo;  查询所有的字段信息
                    select name from userinfo;  查询指定的字段信息
                    select id,name from userinfo where id=1 or name='yzy';带有筛选条件的字段信息
                改
                    update userinfo set name='haha' where id=1; 修改数据的一个字段信息
                    update userinfo set name='zmm',password=999 where id=1;修改数据的多个字段
                删
                     delete from userinfo where id=1;指定删符合条件的数据
                     delete from userinfo;  将表中的数据全部删除
  • 相关阅读:
    一周总结
    [z]OpenGL Wiki
    [Z]OpenCL Data Parallel Primitives Library
    [z]苹果用OpenCL实现的Parallel Prefix Sum
    指定VC中std::sort的比较函数时发生"invalid operator<"错误原因
    [z]FNV哈希算法
    [z]NViDIA用OpenCL实现的很多基础并行算法
    [z]一个基于CUDA的基础并行算法库
    [z]一个讲解很多OpenGL中基本概念的网站
    [Z]Marching Cubes的实现
  • 原文地址:https://www.cnblogs.com/KrisYzy/p/11365196.html
Copyright © 2011-2022 走看看