Title

MySQL的介绍,安装,使用方法

数据库介绍:

1.什么是数据(Data)

描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字、图片,图像、声音、语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机

在计算机中描述一个事物,就需要抽取这一事物的典型特征,组成一条记录,就相当于文件里的一行内容,如:

egon,male,18,1999,山东,计算机系,2017,oldboy

单纯的一条记录并没有任何意义,如果我们按逗号作为分隔,依次定义各个字段的意思,相当于定义表的标题

name,sex,age,birth,born_addr,major,entrance_time,school #字段
egon,male,18,1999,山东,计算机系,2017,oldboy #记录

2.什么是数据库(DataBase,简称DB)

数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的

过去人们将数据存放在文件柜里,现在数据量庞大,已经不再适用

数据库是长期存放在计算机内、有组织、可共享的数据即可。

数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种 用户共享

3 什么是数据库管理系统(DataBase Management System 简称DBMS)

在了解了Data与DB的概念后,如何科学地组织和存储数据,如何高效获取和维护数据成了关键

这就用到了一个系统软件---数据库管理系统

例如:
关系型数据库:MySQL、PostgreSQL Oracle、SQLite、DB2、Access、SQL Server

非关系型数据库:

Redis、 Voldemort、 Oracle BDB (键值存储数据库)

CouchDB 、mongodb(文档型数据库)

Neo4J、 InfoGrid、 Infinite Graph (图形(Graph)数据库)

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

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

数据库系统的特点:

1 数据结构化

2 数据共享,冗余度低,易扩充

3 数据独立性高

4 数据由DBMS统一管理和控制

  a:数据的安全性保护

  b:数据的完整性检查

  c:并发控制

  d:数据库恢

4.数据库服务器、数据管理系统、数据库、表与记录的关系(重点理解!!!)

记录:1 坦克 324245234 22(多个字段的信息组成一条记录,即文件中的一行内容)

表:student,scholl,class_list(即文件)

数据库:oldboy_stu(即文件夹)

数据库管理系统:如mysql(是一个软件)

数据库服务器:一台计算机(对内存要求比较高)

总结:

数据库服务器-:运行数据库管理软件

数据库管理软件:管理-数据库

数据库:即文件夹,用来组织文件/表

表:即文件,用来存放多行内容/多条记录

5.MySQL介绍(重点)

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

  • mysql是什么?
#mysql就是一个基于socket编写的C/S架构的基于网络通信的软件

 - 服务端:
          - 基于网络通信
          - 收发消息

 - 客户端:
          - 基于网络通信
          - 收发消息
            
            
- 所有语言若想操作数据库,拿到服务端ip和port,都必须遵循一套标准的解析指令 ---》 SQL语句


-所有基于网络通信的软件,底层都是socket。

6安装数据库(重点)

  • 安装数据库
    • 1.下载mysql安装包
    • 2.解压安装包放在D:中
    • 3.添加系统环境变量

4.以管理员身份打开cmd,输入mysqld启动服务端,此时会卡主

  • 打开的即bin目录下的: mysqld.exe

注意:

  • 做服务端操作时,必须先以管理员身份打开cmd

5.新建一个cmd,mysql客户端连接服务端,输入mysql -h 127.0.0.1 -P 3306 -p 密码

  • mysql初始化时无密码,可以进入游客模式,功能会很少
    入 ---》 可不需要“-p 密码”
  • 全写: mysql -h 127.0.0.1 -P 3306 -p 密码
    简写: mysql -uroot -p 密码
  • 打开的即bin目录下的: mysql.exe

6.退出数据库客户端

exit; 或者 quit;(记得加分号)

注意: SQL语句末尾必须加 “;” 号。

7.查看操作系统服务端进程和停止进程

  • 查看操作系统中是否已经启动mysqld 服务端

    tasklist | findstr "mysqld"

    会得到一个pid号

  • 停止服务端mysqld进程

    taskkill /F /PID pid号

8.查看所有数据库

  • show databases;

9.制作系统服务

  • 1.必须将已启动的服务端mysqld关掉
  • 2.删掉已经启动过的mysqld的进程
  • 3.输入 mysqld --install ----> 安装mysqld系统服务
  • 4.输入 net start mysqld

​ 以管理员身份运行后,直接输入net start mysql 可以打开服务,
​ 输入net stop mysql 可以关闭服务

10.登陆

- mysql -u 登录mysql用户名(root) -p 密码
    - 默认自带 root 超级用户, 没有密码(初始化时)
    - 管理员登录
        - mysql -uroot 回车进入

    - 游客登录
        - mysql 回车

11.修改密码

- 修改密码:
    - 默认没有密码的情况下,设置密码
        - cmd>>>: mysqladmin -uroot pass
        word 123

    - 有密码的情况下,修改密码
        - cmd>>>: mysqladmin -uroot -p原密码 password修改的密码
        - cmd>>>: mysqladmin -uroot -p123456 password 123

12.破解密码

 - 破解密码: 当密码忘记时采用
        - 1.关闭服务端
        - 2.以管理员跳过权限启动服务端
            - cmd>>>:  mysqld --skip-grant-tables

        - 3.客户端进入游客模式:
            - cmd>>>:  mysql

            - update mysql库.user表名 set 字段password=字段password('字段值') where 条件(若条件成立,则修改)user="root";
            - cmd>>>:  update mysql.user set password=password('123456') where user="root";

        - 4.重新启动服务端,不要跳过权限认证
            - 先kill掉跳过权限认证启动的服务端进程
            - 再手动去开服服务中的mysql服务即可

12.设置配置文件

    - 设置配置文件:
       - 1.先在mysql目录下  --》 D:\mysql-5.6.40-winx64

       - 2.创建一个名为 “my.ini” 的文件,这个是mysql的配置文件,将下面内容复制进my.ini文件中
    '''
                [mysqld]
                character-set-server=utf8
                collation-server=utf8_general_ci

                # 这个是用python软件连接的客户端
                [client]
                default-character-set=utf8

                # mysql软件的客户端
                [mysql]
                # 可写,可不写这样可以不需要用户名与密码直接登录mysql
                # user='root'
                # password=123

                # 设置默认的字符编码
                default-character-set=utf8
    '''

       - 3.重启mysql服务,即修改成功!
    
    	\s; 可以查看当前配置文件

7.数据库基本操作

  • 数据库的基本操作
- 数据库基本操作:
        - 库的操作 ---> 类似于文件夹
            - 增:
                语法: create database 库名;
                    - create database db1;
            - 选择:
                 语法:use 库名;
                      use db1;

            - 查
                语法: show databases;  # 查看所有库
                      show create database db1;  # 查看db1库中的信息

            - 改
                语法: alter database 库名 charset="字符编码类型";
                    - alter database db1 charset="utf8";

            - 删
                语法: drop database db1;

  • 表的基本操作
        - 表的操作 ---> 类似于文件
            - 操作表前,需要先切换到指定库
                语法: use 库名;
                    - use db1;

                查看当前所在的库: select database()

            - 增
                varchar与char 都是字符串类型;
                varchar(20)
                语法: create table 表名(字段名 字段类型);
                    create table user_info(name varchar(20), age int);

                    在db1库内为db2库添加表  
                    create 库名.表名(字段名,字段类型)
                    create table db2.user_info(name varchar(20), age int);

            - 查
                show tables;  # 查看当前库中所有的表
                desc user_info;  # 查看表结构

            - 改
                语法: alter table 表名 modify name varchar(28);
                    - alter table user_info modify name varchar(28);

            - 删
                语法: drop table 表名;
                    - create table test(id int);
                    - drop table test;

  • 记录的操作
        - 记录 的操作 ---> 类似于文件中的一行行数据
            - 增:
                语法: insert into 表名 values('字段类型的数据1', 字段类型的数据1);
                    # 插入一条
                    - insert into user_info values('tank', 17);

                    # 插入多条
                    - insert into user_info values('jason', 71), ('sean', 78);

            - 查:
                *: 指的是所有
                语法: select * from 表名;  # 查看表中所有的数据
                        - select * from user_info;

                    # 查看name 字段为 tank 的记录
                        - select * from 表名 where 条件;  # 条件成立则查看成功!
                        - select * from user_info where name="tank";

                    # 查看name 字段为 tank 的age字段
                        - select age from user_info where name="tank";

                    # 查看所有的名字:
                        - select name from user_info;

            - 改
                语法: update 表名 set 字段名=字段值 where 条件判断;  # 若条件成立,则修改成功!

                    # 修改age为17的记录中name属性为 handsome
                    - update user_info set name='handsome' where age=17;

                    # 修改age>16的记录 中name属性为 d_sb
                    - update user_info set name='d_sb' where age>16;

            - 删

                语法: delete from 表名;
                    # 清空表记录,不提交,可恢复。
                    - delete from user_info;

                语法: truncate table 表名;
                    # 删除,不可恢复
                    - truncate table user_info;

posted @ 2019-12-10 18:45  Mr江  阅读(422)  评论(0编辑  收藏  举报