Python学习day41-数据库(1)

本文全面解析数据库的概念、分类、安装及卸载流程,深入探讨数据库连接、用户信息管理、数据库、表与字段的基本操作,适用于初学者及有经验的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

Python学习day41-数据库(1)

数据库

概念

首先我们要明白数据的概念,什么是数据呢,宽泛来讲,我们之前所创建的文件,以及各种赋值语句,甚至是计算机上的各种图片,,视频,音乐,其实最后都可以叫做是数据.

那么问题就来了,库,通常来讲库的定义就是一个可以存放很多东西的容器,所以数据库,最简单的定义就是可以存放很多数据的一个库.

我们为什么要用数据库?

试想一下,如果我们在一个比较大的公司,就是那种需要同时和上千万用户进行交互的软件的公司,那么用户和公司软件之间的交互应该是什么样的?

我们不是直接和计算机交互,而应该是服务器,甚至通常是一个服务器的集群.而这些服务器里面装的也不是我们这些常用的win10或者mac系统,而是Linux或者是Windows Server系列,这些系统的界面和与用户的交互性也许没有那么优秀,却足够稳定.而这些系统上通常就只会放一些数据库,仅此而已.

那么我们使用数据库的理由就有了,一方面,我们要用数据库来存储文件,从而实现文件和程序的分离,另外一方面,数据库修改数据的效率比我们直接手动修改,或者是通过Python修改的效率要高的太多太多了.

数据库的分类

数据库按照不同的标准,分类也不尽相同,但一般会有三种标准来进行分类:

  1. 关系型与非关系型

    关系型:顾名思义,关系型数据库就是其中的表与表之间都有联系,每个表并不是独立存在的,比如MySQL,Oracle,SQLserver等

    非关系型:非关系型数据库里面没有表的概念,只有单独的每一行的数据,比如redis,MongoDB等,其优势在于存取速度都比关系型数据库要快,缺点就是逻辑较复杂,脉络不清晰.

  2. 内存和硬盘(按照工作的区域来分):

    硬盘:可以永久存储,比如MySQL,MongoDB等

    内存:数据的存取率极高,比如redis,memcache等

  3. sql与nosql来区分

    sql:就是说数据库需要通过sql语句来操控,操控较复杂,但效率很高

    nosql:数据库操作是通过直接用key-value的方式进行记录,而不通过sql语句,

数据库的安装与卸载

安装:

首先,如果你从来没有安装过数据库,那么恭喜你,你非常的幸运,你只需要按照下面这个教程来一步一步安装即可,绝对不会出错.教程如下:

Windows版本

mysql的安装、启动和基础配置 —— Windows版本:https://www.cnblogs.com/nickchen121/p/11145124.html

Linux版本

mysql的安装、启动和基础配置 —— Linux版本:https://www.cnblogs.com/nickchen121/p/11145125.html

Mac版本

mysql的安装、启动和基础配置 —— Mac版本:https://www.cnblogs.com/nickchen121/p/11145123.html

以上安装教程均为博客园,nickchen这位大帅比所写,非常的详细,亲测没有任务问题.

卸载:

下面我们要说的是,如果你之前安装过数据库,而且卸载的不是那么彻底,那么就会非常麻烦.其实也没有那么麻烦,只需要做两个步骤就可以了

  1. 删除环境变量里数据库的地址

    具体为,右键我的电脑-->属性-->高级系统设置-->高级标签页-->环境变量-->找到下面系统变量里面有一个叫path的东西,双击或者编辑,然后从里面所有的环境变量里面找到类似于这样的:

     

     

     

     

删除即可,顺便把这个路径下的文件夹也删除,整个删除

  1. 删除安装过的服务的注册表

    注册表的路径比较绕,这里要看自己,首先,打开运行界面

输入上图中的regedit,打开注册表,路径如下:\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL

对的,我们要直接删除这个MySQL的文件夹,果断的直接删除

然后,你需要重启机器,记住,这点非常重要,重启完之后,你的电脑就彻底干净了,再也没有之前安装的残余了,然后按照上面的安装步骤安装就可以了.

亲测,十分有效,如果没效果,你来找我

数据库的连接

在正确的安装好数据库之后,我们打开cmd窗口,输入mysql,就可以进入到数据库里了~不过这时候你是以游客方式进入的,并没有任何的修改权.

如果这个时候你报错是这样的:

ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

那么你需要去服务里面把MySQL打开,步骤为:

开始菜单-->搜索框-->服务–>在名称里面找到MySQL,然后右键启动即可,之后就可以用mysql连接上数据库了,当然这是最原始的连接数据库的方法,需要更高级一点的,请看下列网站:

http://www.downxia.com/downinfo/227395.html

 
 
 
xxxxxxxxxx
13
 
 
 
 
1
#1. 直接输入mysql登录就是游客登录,登陆了也不能操作什么
2
>:mysql
3
#2. 账号密码登录
4
>:mysql -uroot -p
5
# 再输入密码,没有任何提示,没有密码就直接回车
6
#3. 连接指定服务器的mysql
7
>:mysql -h ip地址 -P 端口号 -u 对方账号 -p 密码
8
# 回车后敲入密码
9
eg:
10
>:mysql -hlocalhost -P3306 -uroot -p 密码
11
#4.退出数据库
12
quit
13
exit
 
 

用户信息查看

我们把信息存到数据库中的目的当然就是为了查看,或者说调用,单纯的存进去没有任何意义.

查看数据库信息的常用命令为以下几个:

 
 
 
xxxxxxxxxx
25
 
 
 
 
1
#1. 查看当前用户
2
select user():
3
    
4
#2. root权限下可以查看所有用户信息
5
select * from mysql.user:
6
select * from mysql.user \G
7
select user,password,host from mysql.user;
8
9
::1ipv6,可以接收所有的ipv6
10
        
11
#3. root登陆下删除游客(重启服务)
12
delete from mysql.user where user='';
13
14
#4. root登陆下,修改密码(重启服务)
15
update mysql.user set password=password('123456') where host = '127.0.0.1'
16
17
mysql> set password for 用户名@localhost = password('新密码'); 
18
eg:
19
mysql> set password for root@localhost = password('123'); 
20
21
#5. 没有登录
22
musqladmin -uroot -p旧密码 password"新密码"
23
24
#6. 创建用户(root登陆下)
25
grant 权限 on 数据库名.表名 to 用户名@主机名 identified by '密码';
 
 

数据库的基本操作

不管是对数据库,还是对表,或者是对记录,我们最常用的操作基本大致都是分四种,增删改查,所以下面我们分别用这四个方向来简单说明一下对于数据库,表和数据记录三者的一些简单操作.

 
 
 
xxxxxxxxxx
1
10
 
 
 
 
1
# 前提:用户已登录,且有权限对数据库操作
2
1. ,即增加,创建数据库,后面为默认的字符编码类型
3
create database 数据库名[charset='utf8']:
4
实例如下:
5
    create database db1;
6
    create database db2 charset='utf8'
7
    
8
2. ,删除数据库,主要用drop
9
drop database 数据名;
10
drop database db2
11
12
3. ,即修改,对数据库的修改一般只修改其编码集以及数据库名,但是直接修改数据库名有丢失数据的风险,因为如果之前有些脚本在取数据的话,会丢失数据,所以其实对数据库改名的命令在MySQL5.1.7版本的时候被添加进来,但是5.1.23的时候又去掉了,所以我们了解就好
13
rename database db1 to db2;(现版本已经没有这个命令)
14
15
alter database db1 charset="utf8";# 修改数据库的默认字符集编码
16
17
4. ,不管是什么结构,查都是其重中之重,因为只有你能查到数据,才能把它取出来,才可以做别的操作
18
19
show databases;# 可以查看当前机器有的所有的数据库,只显示数据库名
20
show create database db1;# 可以查看指定数据库的详细信息,包括数据库的名字和其编码格式
 
 

 

表的基本操作

同样是增,删,改,查:

 
 
 
x
10
 
 
 
 
1
# 前提:要知道当前在哪个库下面
2
1. 
3
create table 表名(
4
(字段 字段类型)
5
    (字段 字段类型)
6
    (字段 字段类型)
7
);# 创建一个表
8
9
create table student(name char(16),age int,gender char(10))
10
11
2. ,表的删除方法和数据库基本一样,都是用drop
12
drop table 表名;
13
drop table student;
14
15
3. ,表的修改通常是指修改表名和字段名以及字段属性
16
alter table 旧表名 rename 新表名;
17
alter table student rename teacher;
18
alter table student change 旧字段名 新字段名 新字段属性
19
alter table student modify 字段名 字段的新属性
20
21
4. ,表的查询通常可以查询三个方面,如下例
22
show tables;# 查看当前数据库里所有的表名
23
show create table student;# 查看具体某个表的详细信息
24
desc student;# 可以查看表字段的结构信息,包括字段名,以及每个字段的类型的定义
25
 
 

 

字段的基本操作

 
 
 
x
 
 
 
 
1
# 前提: 知道操作的是哪个表里面的字段
2
# 1.增, 添加字段
3
insert [into][数据库名.]表名 values(值1,...,值n);
4
insert into t1 (name, age) values ("1", 18),("2", 8);
5
6
# 2.查
7
select * from [数据库名.]表名;
8
select * from student
9
select * from owen.student
10
# 注意一点,其中的*其实是代表所有字段的意思
11
12
# 3.改
13
update [数据库名.]表名 set 字段1=新值1,字段n=新值n  where 字段=旧值;
14
update t1 set age=28 where name="1";
15
16
# 4.删,字段的删除用的是delete,不是drop了
17
delete from [数据库名.]表名 where 条件
18
delete from t1 where age>8;
19
 
 

 

转载于:https://www.cnblogs.com/Xu-PR/p/11559008.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值