数据库简介与mysql基础
数据库简介
什么是数据
描述事物的符号记录称为数据,描述事物的符号可以是数字,也可以是文字,图片,图像,声音,语言等,数据有多种表现形式,它们都可以经过数字化后存入计算机。
什么是数据库
数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的。
数据库是长期存放在计算机内、有组织、可共享的。
数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并且可以为各种用户共享。
数据库的本质
数据库本质上是通过文件来存储数据的,数据库软件的本质其实也是一款CS架构的软件,数据库的概念即通过系统的管理存储数据的文件。
数据库在微观层面上来说:运行在计算机上专门处理数据的进程(程序)。【运行在内存当中的代码】
数据库在宏观层面上来说:提供给操作者一个简单快捷的操作进程的软件应用程序。【即:数据库软件,一个cs架构的应用程序】
数据库相关概念
什么是记录:一组数据构成一条记录,相当于文件中的一行内容,如1,jason,male,18。
什么是表:多条记录构成一张表,其本质相当于文件。
什么是库(DataBase,简称DB):多张表构成一个数据库,其本质相当于文件夹。
什么是数据库管理系统(DataBase Management System 简称DBMS):管理数据的套接字软件,CS架构。例如MySQL,就是一个软件。
什么是数据库服务器:运行有DBMS服务端的计算机,该计算机对内存和硬盘要求都相对较高。
远程数据库服务
远程数据库服务一般使用数据库集群的方式来实现:让多台服务器运行相同的数据库服务。
- 一方面考虑到数据安全性的问题,便于数据备份。
- 另一方面,数据库集群能够做好负载均衡,提高服务的并发量。
数据库软件的分类
-
关系型数据库
- 有固定的表结构(最主要的特征)
- 以表中一条条记录存储数据,并且表与表之间可以建立代码层面的关系
常见的关系型数据库:
MySQL、Oracle、PostgreSQL、MariaDB、sqlite、sql server、db2。
''' MySQL:开源的,关系型数据库的代表,主要用于大型门户,例如搜狗、新浪等,主要优势是开放源代码,使用频率极高。 Oracle:主要用于银行、铁路、飞机场等。该数据库功能强大,安全性很高,但是软件费用较高。 PostgreSQL:开源的,可以支持二次开发。可拓展性很强。 MariaDB:开源的,与MySQL是同一个作者所开发,开发的初衷是作为MySQL的替代品。 sqlite:小型数据库 携带方便但功能较少,主要用于本地测试使用。django框架自带该数据库。 SQL server:是微软公司的产品,主要应用于大中型企业,如联想、方正等,是老牌的数据库软件,目前并不主流。 '''
-
非关系型数据库
- 没有固定的表结构,数据存取采用K:V键值对的形式(最主要的特征)
- 并且表与表之间无法建立代码层面的关系
常见非关系型数据库:
Redis、MongoDB、Memcache。
''' Redis:目前最火的非关系型数据库,该数据库数据类型丰富,功能强大。多用来作为缓存。 MongoDB:最像关系型数据库的非关系型数据库,主要用于爬虫和大数据。可用来作为后端数据库管理软件。 Memcache:多用来作为缓存,但是被redis取代了。 '''
SQL与NoSQL:
数据库服务端支持很多客户端来链接使用;为了让服务端兼容诸多客户端,实现正常交互,使用SQL语句与NoSQL语句。
SQL语句:与关系型数据库交互的语言。SQL有时候用来标识关系型数据库,有时候表示SQL语句。
NoSQL语句:与非关系型数据库交互的语言。NoSQL有时候用来标识非关系型数据库,有时候表示NoSQL语句。
ps:SQL语句使用分号作为结束符。取消SQL语句执行使用:\c。
MySQL数据库
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下公司。是最流行的关系型数据库管理系统,在web应用方面MySQL是最好的RDBMS(Relational Database Management System,关系数据库管理系统)应用软件之一。
MySQL的下载安装
- 官网:http://mysql.com/>>>:官网下载安装,windows系统选择5.6x和5.7x的版本。mac系统选择8.0x版本。
- 解压到安装的指定目录,建议压缩到D或者E、F盘的根目录方便查找。
- 主要文件:bin文件夹下:mysqld.exe服务端、mysql.exe客户端。data文件夹:存取数据。my-default.ini:默认的配置文件。
- 添加环境变量>>>:【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】
MySQL的基本使用
初始化:mysql --install
将mysql服务器添加到系统服务:在系统服务中启动mysql,mysqld --install,进入系统服务: win+r => services.msc => 找到mysql服务手动启动或关闭。
ps【命令操作服务】:查看系统服务命令》》》:services.msc》》》命令启动:net start mysql
连接数据库:
''' 通过最高权限进入数据库,要采用root用户进入,连接本地数据库:mysql -uroot -p 查看mysql版本:select version() 查看当前用户:select user() 查看mysql下的(当前用户可以操作)所有数据库:show databases; '''
密码操作:
知道旧密码的情况下:修改密码:mysqladmin -uroot -p旧密码 password"新密码"。
遗忘旧密码的情况下:以任意密码登录root用户: mysql -uroot -P任意;set password=PASSWORD('新密码')。
操作库的MySQL语句
''' 前提:连接上数据库,其中db1为库名 1.增,创建数据库 采用默认编码集: create database db1; 自定义编码集: create database db1 charset="gbk"; 2.查,查看数据库全部信息 查看所有的数据库名称:show databases; 指定查看某个库的信息:show create database db1; 3.改,修改数据库编码集 alter database db1 charset="utf8" 4.删,移除数据库 drop database db1; '''
操作表的MySQL语句
''' 前提:在具体的某个库下创建表,t1为表名 进入指定的数据库:use db1; 确定当前使用的数据库:select database(); 1.增,创建表(字段1,类型,... ,字段n 类型) create table t1(name char,age int); 2.查,查看表信息 查看当前库下所有的表名称:show tables; 指定查看某个表的详细信息:show create table t1; 指定查看某个表的字段结构信息:desc t1; 3.改 修改字段属性:alter table t1 modify name【字段名】 char(20); 修改字段名:alter table t1 change name【旧字段】 usr【新字段】 char(16)【字段类型】; 修改表名:alter table t1(旧表名) rename t2(新表名);
删除字段:alter table 表名 drop 字段名;
新增字段:alter table 表名 add 字段名 字段类型(数字) 约束条件;
alter table 表名 add 字段名 字段类型(数字) 约束条件 after 已经存在的字段;
alter table 表名 add 字段名 字段类型(数字) 约束条件 first;
4.删,移除表 drop table t1; '''
操作记录的MySQL语句
''' 前提:知道具体操作的是哪个库,哪张表 1.增,添加字段 insert into t1 values ("aa",18),("bb",8); 2.查 查看表里面的所有数据>>>:select * from t1;
查看指定库下指定表当中的数据>>>:select*from t1.d1;
逐行展示表当中的数据>>>:select*from t1.d1\G 3.改 update t1 set age=28 where usr="aa";
将usr为aa的数据当中的age对应的字段的值改为28,其中where是筛选条件 4.删 delete from t1 where age>8;
将age>8的数据删除 '''
PS:SQL语句注释语法(快捷键与pycharm中的一致 (ctrl+?)!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?