Mysql安装和基本方法

 

Mysql数据库(一)

在以前按写的选课系统或则是ftp项目中,咱们都引用了db这个文件夹,那么数据量太大,或则须要快速对文件进行操做时,单一的文件已经没法进行处理,这是就引出了咱们的数据库,数据库是属于C/S架构html

  • 数据库:是一个能够在一台机器上独立工做的,而且能够给咱们提供高效、便捷的方式对数据进行增删改查的一种工具。

1、数据库概述:

  • 什么是数据(Date):
    •  
       
       
       
       
       
       
       
      描述事物的符号记录称为数据,描述事物的符号既能够是数字,也能够是文字、图片,图像、声音、语言等,数据由多种表现形式,它们均可以通过数字化后存入计算机。
       
                  
      在计算机中描述一个事物,就须要抽取这一事物的典型特征,组成一条记录,就至关于文件里的一行内容,如:
      xiaomage,male,18,1999,山东,计算机系,2017,oldboy
       
    • 单纯的一条记录并无任何意义,若是咱们按逗号做为分隔,依次定义各个字段的意思,至关于定义表的标题node

      img

      这样咱们就能很清晰的看清楚一条命令所描述的信息了python

  • 什么是数据库(DateBase,简称DB):mysql

    • 数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,并且数据是按必定的格式存放的,过去人们将数据存放在文件柜里,如今数据量庞大,已经再也不适用;数据库是长期存放在计算机内、有组织、可共享的数据便可。;数据库中的数据按必定的数据模型组织、描述和储存,具备较小的冗余度、较高的数据独立性和易扩展性,并可为各类 用户共享。
  • 什么是数据库管理系统(DateBase Management System 简称DBMS):linux

    • 在了解了Data与DB的概念后,如何科学地组织和存储数据,如何高效获取和维护数据成了关键,这就用到了一个系统软件---数据库管理系统,实际上是一个软件web

      如MySQL、Oracle、SQLite、Access、MS SQL Serverredis

      mysql:主要用于大型门户,例如搜狗、新浪等,它主要的优点就是开放源代码,由于开放源代码这个数据库是免费的,他如今是甲骨文公司的产品。 oracle: 主要用于银行、铁路、飞机场等。该数据库功能强大,软件费用高。也是甲骨文公司的产品。 sql server:是微软公司的产品,主要应用于大中型企业,如联想、方正等。sql

       
       
       
       
       
       
       
       
      数据库管理软件分两大类:
        关系型:如sqllite,db2,oracle,access,sql server,MySQL,注意:sql语句通用
        非关系型:mongodb,redis,memcache
       
                  
      能够简单的理解为:
          关系型数据库须要有表结构
          非关系型数据库是key-value存储的,没有表结构
       

       

  • 数据库服务器:mongodb

    • 服务器:本质就是一台电脑;当一台计算机上安装了某个软件可以对外提供服务的时候,那么这台机器就成为服务器
    • 数据库服务器:这台机器上安装的服务是一个数据库的server端的时候,咱们就获得了一台数据库服务器
  • 什么是数据库管理员(DateBase Administrator,简称:DBA)数据库

    • 也就是管理数据库的工做人员,每每涉及到数据库的结构安全和规划。
  • 数据库的优点

     
     
     
     
     
     
     
     
    1.程序稳定性 :这样任意一台服务所在的机器崩溃了都不会影响数据和另外的服务。
    2.数据一致性 :全部的数据都存储在一块儿,全部的程序操做的数据都是统一的,就不会出现数据不一致的现象
    3.并发 :数据库能够良好的支持并发,全部的程序操做数据库都是经过网络,而数据库自己支持并发的网络操做,不须要咱们本身写socket
    4.效率 :使用数据库对数据进行增删改查的效率要高出咱们本身处理文件不少
     
  • 数据库的特色

     
     
     
     
     
     
     
     
    数据库系统的特色:
        1 数据结构化(如上图odboy_stu)
        2 数据共享,冗余度低,易扩充
        3 数据独立性高
        4 数据由DBMS统一管理和控制
          a:数据的安全性保护
          b:数据的完整性检查
          c:并发控制
          d:数据库恢复
     

     

2、Mysql数据库的安装和配置

须要注意的是,安装的时候若是遇到下列状况:

 

缘由是MRVCR.dll没法找到,是系统缺乏插件,能够下载插件安装便可

若是实在找不到缘由,或则各类没法解决的问题,那么能够在网上下载VC运行库,这个库为咱们虚拟了一个Mysql管理系统,咱们能够直接用。

 
 
 
 
 
 
 
 
# mysqld install
    # mysqld.exe install 要安装mysql的server端
    # net start mysql 启动server端
    # mysql -uroot -p 启动client端
# 重启server
    # net stop mysql
    # net start mysql
 

 

3、Mysql配置和登录

刚安装的mysql后:

  • 一、打开终端,使用root登录,输入:mysql -uroot -p;回车,最开始是没有密码的直接回车就行。

    • 查看当前用户

       
       
       
       
       
       
       
       
      select user();  #查看当前用户
       
    • 退出

       
       
       
       
       
       
       
       
      exit     # 也能够用\q quit退出
       
  • 管理员为root(拥有最高权限,管理员帐号),密码为空,以无密码的方式登陆了管理员帐号,是很是危险的一件事情,因此要为管理员帐号设置密码

    • 设置root用户密码

       
       
       
       
       
       
       
       
      mysql>  set password = password('root'); # 给当前数据库设置密码,这是在mysql内部设置
      windonws> mysqladmin -uroot -p password "123"  #设置初始密码 因为原密码为空,所以-p能够不用
       
    • 修改root用户密码

       
       
       
       
       
       
       
       
      windows> mysqladmin -uroot -p"123" password "456"  #讲旧密码修改成456
      忘记mysql密码:
          1、以管理员身份打开cmd;
          2、net stop mysql 关掉mysql
          3、执行下列命令跳过受权表:
              C:\WINDOWS\system32> mysqld --skip-grant-tables #执行完后,窗口会挂起,先别关闭
          4、新开一个窗口登录:mysql -uroot  # 此时会跳过密码直接登录
          5、使用select user()   # 查看当前用户
          6、如今能够任意的更改密码,执行下面的代码,讲密码设置为空:
              update mysql.user set authentication_string = password('') where user = 'root';
          7、刷新权限,执行下面的命令:
              flush privileges;
          8、关闭全部窗口,(退出mysql,关闭挂起的窗口);新开个窗口让用户加载权限,以管理员身份进入cmd,查看        当前mysql进程
              tasklist |findstr mysql  #查看当前mysql的进程
          9、杀死当前的进程,(固然也能够在任务管理器中关闭)
              taskkill /F /PID 6052  # 杀死当前的进程pid
          10、重启mysql,使用新密码登录
       
  • 统一字符编码:有时mysql的配置默认字符编码不是utf8,此时就要咱们手动切换

    • 进入mysql界面:执行\s,能够查看相应的配置信息

    •  

      • 咱们在my.ini文件中配置信息,直接保存,重启便可(在MySQL文件中默认有个ini文件,可是里面是一些提示信息,就是指导咱们本身写)

         
         
         
         
         
         
         
         
        [mysql]
        # 设置mysql客户端默认字符集
        default-character-set=utf8
        [mysqld]
        #设置3306端口
        port = 3306
        # 设置mysql的安装目录
        basedir=D:\mysql\mysql-5.6.43-winx64
        # 设置mysql数据库的数据的存放目录
        datadir=D:\mysql\mysql-5.6.43-winx64\data
        # 容许最大链接数
        max_connections=200
        # 服务端使用的字符集默认为8比特编码的latin1字符集
        character-set-server=utf8
        # 建立新表时将使用的默认存储引擎
        default-storage-engine=INNODB
         

     

4、基本的使用方法

 
 
 
 
 
 
 
 
#进入mysql客户端
$mysql
mysql> select user();  #查看当前用户
mysql> exit     # 也能够用\q quit退出
# 默认用户登录以后并无实际操做的权限
# 须要使用管理员root用户登录
$ mysql -uroot -p   # mysql5.6默认是没有密码的
#遇到password直接按回车键
mysql> set password = password('root'); # 给当前数据库设置密码
# 建立帐号
mysql> create user 'eva'@'192.168.10.%'   IDENTIFIED BY '123';  # 指示网段 相应网段的人能够访问,且给用户配置了密码
mysql> create user 'eva'@'192.168.10.5'   # 指示某机器能够链接
mysql> create user 'eva'@'%'                    #指示全部机器均可以链接  
mysql> show grants for 'eva'@'192.168.10.5';查看某个用户的权限 
# 远程登录
$ mysql -uroot -p123 -h 192.168.10.3 -p
# 给帐号受权
mysql> grant all on *.* to 'eva'@'%';
mysql> flush privileges;    # 刷新使受权当即生效
# 建立帐号并受权
mysql> grant all on *.* to 'eva'@'%' identified by '123' 
# grant 权利 on 数据库名.表名 to '用户名'@'ip地址' identified by '123'; 建立某个密码的用户有对某文件的某权力
           #(权利 : SELECT INSERT UPDATE DELETE ALL)
# select * from performance_schema.users;   #能够查看管理员用户
 

设想一下,当咱们想要从文件中存取数据的时候,是一个很是繁琐的过程,主要是由于文件中全部的内容对咱们来讲是连续的,没有规则的。若是咱们将数据按照规则存在一个文件中,在设计一种规则能够拼凑组合成咱们须要的操做,并经过这些指示在文件中存取数据,那么操做数据是否是可以变得更加简单快速呢?这串规则就被咱们成为SQL。

  SQL : 结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统

  SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。SQL语言分为3种类型:

  一、DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER

  二、DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT

  三、DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE

  • 操做文件夹(库)

    • 增 : create database 文件名; (create database db1 charset utf8; #这里能够指定编码)

      img

    • 查 :

      • 查看当前建立的数据库

         
         
         
         
         
         
         
         
        show create database db1;  #也就是查看对应库里的详细信息
         
      • 查看全部的数据库mysql

         
         
         
         
         
         
         
         
        show databases;
         
    •  

    • 改:alter database db1 charset gbk; #这里修改的是文件的属性,如编码等

      img

    • 删: drop database db1; #删除某个文件(库)

     

  • 操做文件(表):

    • 切换文件夹:

       
       
       
       
       
       
       
       
      use db1;               #切换文件夹
      select database();     #查看当前所在文件夹
       
    • 增:create table t1(id int,name char); # 建立一个文件,里面具备id ;name 属性且带有相应的字节类型,还能够指定长度如:char(6)……

      img

    • 查:这里是查找文件夹里面文件,当咱们进入文件后,须要查看里省得内容时,使用show tables,查看详细信息是desc 表名。

       
       
       
       
       
       
       
       
      #查看当前的这张t1表
      show create table t1;
       
                  
      # 查看全部的表
      show tables;
       
                  
      # 查看表的详细信息 ,有什么属性,什么字段
      desc t1;
       
    •  

    • 改: 修改文件内某个表内属性

       
       
       
       
       
       
       
       
      # modify修改的意思
      alter table t1 modify name char(6);
      # 改变name为大写的NAME
      alter table t1 change name NAME char(7);
       
    • 删除表:

       
       
       
       
       
       
       
       
      drop table t1;
       
  • 操做具体内容(表内)

    • 增:对表内每一个属性添加值

       
       
       
       
       
       
       
       
      # 插入3条数据,规定id,name数据,一次能够插入多个,插入一条使用value
      insert t1(id,name) values(1,"mjj01"),(2,"mjj02"),(3,"mjj03");  
      #使用set
      insert into t1 set id=4,name='wang';
       

      img

    • 查:查找表内的某些字段,返回主目录 >use mysql

       
       
       
       
       
       
       
       
      #只显示id字段:
      select id from db1.t1;
      #执行显示2个字段
      select id,name from db1.t1;<br>
      #查询全部字段
      select * from db1.t1;
       
  • 改:经过条件修改数据

     
     
     
     
     
     
     
     
    #修改表中的全部行,name等于zhang。很是危险,当心使用
    update db1.t1 set name='zhang';
    #修改id为2的行,name等于alex。推荐使用!
    update db1.t1 set name='alex' where id=2;
     
  • 删:删除某个数据

     
     
     
    xxxxxxxxxx
     
     
     
     
    #清空表<br>delete from t1;<br>#删除表
    delete from t1 where id=2;
相关文章
相关标签/搜索