您的位置  > 互联网

(干货)数据库发展历史、数据概念、MySQL简介

从当前互联网的角度来看,计算机上存储的所有内容都可以是数据。 文本可以是数据,文件可以是数据,视频可以是数据。 但一般来说数据可以分为:

二进制数据是在计算机发展之后才出现的。 文本数据自古以来就存在。

2. 数据发展历史

数据记录发展历史:

3. 市场主流数据库

关系型数据库:

非关系型数据库(No-SQL):

二、MySQL简介 1、数据库管理系统

数据库管理系统(DBMS-)是整个数据库系统的统称。 能够建立、管理和维护数据库。

MySQL中满足如下关系:

2.MySQL简介

MySQL 是由瑞典 MySQL AB 公司开发的开源、免费的关系数据库管理系统(RDBMS)。 它因其体积小、可移植性和支持多线程而成为当前最流行的关系数据库之一。

2008年,Sun以10亿美元收购了MySQL AB。 2010年,该公司以74亿美元收购了Sun 。 所以目前MySQL是一个公司产品。

3.MySQL简单架构

MySQL属于C/S模式项目。 平时安装MySQL实际上是指安装MySQL服务器(即C/S中的S)。

4. 常用MySQL客户端

1)MySQL自带客户端工具mysql.exe

安装后MySQL自带的客户端工具。 纯粹的指挥方式。

2)

经典易用的第三方可视化管理工具

3)

强大的第三方可视化管理工具

3.MySQL文件目录解释

在MySQL 5.7中安装时,不允许修改路径。 默认会安装在C盘(系统),并安装到两个文件夹中。

1.应用目录说明

Files是MySQL应用程序所在目录,文件夹名称为MySQL,MySQL包含以下子目录

其中MySQL 5.7是程序的目录,其他文件夹是附加模块功能所在的文件夹。它包含以下子文件夹

2.数据文件目录

MySQL 5.7的数据文件和应用程序文件并不在一起,而是存放在C:\\MySQL\MySQL 5.7目录下,包含以下信息:

其中是上传信息,my.ini是MySQL数据的实际配置文件。 如果要修改MySQL的全局配置信息(配置重启后生效),就在这个文件中配置。

Data文件夹是数据库中数据所在的目录,包括以下信息

该文件夹对应于数据库。 文件夹中的内容根据不同的存储引擎有不同的文件扩展名。默认有以下几种

根据以上内容,可以得出以下结论:

数据库的本质是一组文件

4. 连接。 启动后点击连接

2.填写信息

1)连接名称:名称随意,没有实际意义。 它可以帮助开发人员记住新创建的连接名称。

2)主机名或IP地址:安装MySQL的主机的IP地址

表示本机。 MySQL安装后默认只能连接本地电脑。 如果你想让MySQL允许其他主机的客户端连接,可以通过修改mysql/user.conf中的数据来控制。 将Host修改为%,表示任何主机都可以连接。

5.MySQL 5.7默认数据库

连接MySQL 5.7后默认有四个数据库

6.MySQL数据存储单元

MySQL安装完成后,如果想在MySQL中存储“张三”这个名字,需要做哪些准备呢?

1. 数据库

数据库是MySQL中最大的数据存储单元。 MySQL 中可以有多个数据库。

在实际开发中,一般是一个数据库对应一个项目,大型分布式项目中多个数据库对应一个项目。 来自多个项目的信息很少存储在单个数据库中。

数据库的本质是文件夹:创建新数据库实际上就是在C:\\MySQL\MySQL 5.7\Data中创建一个指定名称的新文件夹。

数据库创建时应包含以下必要信息

可视化创建新数据库的步骤

可视化中新建数据库,可以右键连接名称-->新建数据库

在弹出框中输入自定义的数据库名称,字符集和校对规则可以采用默认值。

2. 桌子

表是MySQL中最基本的数据存储单元。 所有数据都存储在表中。

表是一种结构,和我们平时接触到的表是一样的。 也可以理解为excel的另一种形式。

您需要先创建表,然后将数据输入到表中。

创建表时,设置表结构,包括以下信息

可视化创建表格的步骤

右键单击表 --> 新建表

在弹出框中输入信息

输入完成后,点击保存按钮或Ctrl+S保存,并在弹出框中输入表名。

3. 数据录入

右键表-->打开表并准备编辑数据

输入想要的数据后,Ctrl+S保存数据

7. SQL简介

SQL的英文全称是Query,中文全称是 Query 。

它是一组数据库操作语言,通过SQL让数据知道需要做什么。

应用程序通过SQL与数据库交互

1. SQL发展历史

ANSI(美国国家标准协会)自1986年制定SQL标准以来,每隔几年就会推出一个标准。

1986、ANSI X3.135-1986、ISO/IEC 9075:1986、SQL-86

1989、ANSI X3.135-1989、ISO/IEC 9075:1989、SQL-89

1992、ANSI X3.135-1992、ISO/IEC 9075:1992、SQL-92 (SQL2)

1999、ISO/IEC 9075:1999、SQL:1999 (SQL3)

2003 年,ISO/IEC 9075:2003,SQL:2003

2008年,ISO/IEC 9075:2008,SQL:2008

2011,ISO/IEC 9075:2011,SQL:2011

2. SQL组成

1)DDL(Data)数据定义语言

负责定义数据库对象的语言。 一些以alter、drop等开头的命令都是DDL

2)DML(Data)数据操作语言

一组用于更改数据的命令。 包括,,

3)DQL(Data Query)数据查询语言

一组用于查询数据的命令。包括

4)DCL(Data)数据控制语言

一组控制数据库访问权限的指令。包含grant等。

3. SQL不区分大小写

SQL 不区分大小写

4.SQL函数

SQL是外部操作数据库的唯一方式。

所有可视化操作软件​​的本质都是将操作转换成SQL并发送给数据库。

8. 如何使用mysql.exe

mysql安装路径C:\Files\MySQL\MySQL 5.7\bin下有mysql.exe,它是mysql命令行形式的客户端工具。

如果你使用的是图形界面的系统,mysql工具不如图形界面工具(如)方便易用,但如果系统没有图形界面,mysql工具是一个不错的选择。

如何使用:

1.启动命令行

2、输入命令:mysql -u 用户名 -p 回车输入密码。

也可以使用上面的方法:mysql -u 用户名 -p 密码。 注意-p和之间没有空格,这样你就可以知道你输入的密码是什么。

3、注意:编写命令时,一定要以分号结束,否则按回车后会认为SQL命名输入完成,希望继续输入。

9. SQL-数据库操作 1. 创建数据库

create database 数据库名 [default charset utf8 COLLATE utf8_general_ci ]

已经知道utf8和是可视化操作时的默认值,所以可以省略。

如果第二次执行该命令,会提示数据库已存在(可以通过键盘上下键调出命令记录)

因此,if not后面往往会跟xxx命令,表示只有不存在才创建。

create database if not exists 数据库名

2、查看数据库创建命令

show create database 数据库名

您可以在创建数据库时反馈命令和一些自动生成的参数。

3.查看现有数据库名称

show databases

您可以查看到目前为止已创建的数据库的名称。 请务必注意命令末尾有 s。

4.删除数据库

drop database 数据库名称

数据库可以删除。

如果删除时数据库不存在,会提示数据库不存在。

5.使用数据库

新创建的数据库不能直接建表等操作。使用use命令告诉mysql建表等操作是针对哪个数据库的。

use 数据库名

如果使用,则选择哪个数据库,表示使用哪个数据库。如果要操作其他数据库,还需要使用use命令。

10. SQL表操作

从这个知识点开始,后续的所有操作都将通过使用来演示

1. 创建表

create table 表名(
列名 类型 [约束] [COMMENT '备注'],
列名 类型 [约束] [COMMENT '备注']
) [ENGINE=InnoDB] [DEFAULT CHARSET=utf8] [COMMENT '备注'] ;

[]中的内容全部可以省略,所以最简单的建表方式是:

create table stu(
    id int,
    name varchar(20)
);

在以后的学习或者工作中给表格添加笔记是一个非常好的习惯。

create table stu(
    id int comment '主键',
    name varchar(20) comment '姓名'
) comment '学生';

可以使用命令show table指定表名; 显示定义表时进行注释。 当有很多表时,这是非常必要的。

也可以通过右键表-->对象信息-->DDL进行可视化操作

在弹出的界面中点击DDL即可查看

2.修改表名

rename table 旧表名 to 新表名

3.查看表结构

desc 表名

4. 添加列

alter table 表名 add column(列名 类型 约束,列名 类型 约束);

5.修改列类型

alter table 表名modify column 列名 新类型;

6.修改列名或类型

alter table 表名change column 原列名 新列名 新列类型;

7. 删除列

alter table 表名 drop  column 列名;

8.删除表

drop table 表名;

9.查看数据库中的表

show tables;

11. SQL-新

添加如下表结构

无论使用以下哪种添加,如果添加成功,都会返回受影响的行数。

对数据库的 DML 操作返回受影响的行数。

1. 新增标准

insert into 表名[(列名,列名)] values(,);

表名后面的列和后面的值必须有严格的顺序和类型。 如果表名后面没有列名,则相当于将所有列按顺序写入。

列名称不必包含所有列。 如果只包含列表的一部分,则为其他列的默认值。

2.插入多条数据

insert into 表名 values(值,值),(值,值),(值,值);

您可以使用多个来插入多条数据。 但如果想用一条SQL命令一次性插入多条数据,就必须使用上面的命令。

3.从外部txt文档添加

load data local infile "D:/data.txt" into table 表名

需要注意的是,如果直接使用新建记事本的默认编码ANSI,导入时会出现编码问题,无法支持中文。 直接以UTF-8格式保存的文件会有BOM(文件前面多几个字节),系统可以识别,但MySQL无法识别,所以需要使用文本编辑工具(例如:) 修改文件使其没有 BOM。 UTF-8

文件中的内容是否以制表符分隔,null表示为\n

直接输入命令即可导入。

4.将表数据添加到另一个表中

insert into 新表 select , from 旧表;

添加时,请注意新表是否已经存在,以及后续列的顺序和类型是否与新表中的一致。

12. 安装

.x 中不支持 mysql 连接模块。

您可以在 .x 中使用 , 等。

1.确认是否已安装

默认不包含在库中,程序中会提示如下错误信息。

2.判断是否可以使用pip

启动命令行,输入pip,查看是否已经有pip。 如果提示以下信息,则说明pip已经安装并配置完毕。

3. 安装

在命令行输入:pip进行安装

安装成功后,下面会出现一个文件夹:%%\Lib\site-

如果已经下载,则直接使用pip缓存。 系统缓存目录如下:

C:\Users\\\本地\pip

4.确认是否安装成功

命令行输入:pip list 查看是否有

5.再次运行

再次运行包含的文件。 如果没有报错则说明安装成功。

注意:如果提示没有模块,请考虑引用的库路径是否为本地库路径。

如果没有,通过菜单File --> --> :xxx -->切换到本地库的路径

13.使用1.查询

import pymysql
  
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='smallming', db='test123')
cur = conn.cursor()
  try:
    cur.execute('select * from student')
    data = cur.fetchall()
    for d in data:
        print("id:" + str(d[0]) + ",name:" + d[1])
  finally:
    cur.close()
    conn.close()

2.添加、删除、修改

import pymysql
  
  
  # 获取连接
  conn = pymysql.connect(host="localhost",port=3306,user="root",passwd="smallming",db="bjsxt")
  # 获取游标
# 后面从数据库角度进行讲解
# 理解成数据的指向
  cur = conn.cursor()
  try:
    # 准备执行sql
    cur.execute("insert into student values(997,'997的姓名')")
    # 提交事务
    # 让sql生效,可视化的运行
    conn.commit()
  
  except:
    # 回滚
    conn.rollback()
  finally:
    cur.close()
    conn.close()
  # 受影响的行数
  if cur.rowcount > 0:
    print("新增成功")
  else:
    print("失败")
 

14. SQL 修改

update 表名 set =新值,=新值 where 条件

修改语法比较简单,也是日常使用中唯一使用的形式。 如果没有where,则表示修改表中所有行的数据。如果有where过滤条件,则明确指定需要修改哪些行数据。

1.修改所有行

修改后,所有行的姓名列都变成了张三。

2.修改指定行

修改第12行的ID和第12行的名字为李四

15. SQL-删除

MySQL删除就是从数据文件中删除数据。

1.使用删除

delete from 表 where 条件

如果有where,则表示删除条件,如果没有where,则表示删除所有数据。

使用时必须清楚地知道,无论删除多少行数据,MySQL在执行删除时都会一次删除一行。

2.使用清晰的表格数据

truncate table 表名

该表将被清空(不是一一删除),主键计数器等内容也会被重置。 可以理解,下表是新建的表。