数据存储 txt文件
占坑
代码
实例代码
Json文件实例代码
csv文件 数据库存储数据量多且复杂,存储到文件的数据管理不方便,效率较低。
将数据存储到数据库中,方便存储和管理。
关系型数据库概念:
关系型数据库是建立在关系模型基础的数据库。
借助于集合代数等数学概念和方法处理数据库中的数据。
由多张能互相连接的二维行列表格组成。
MYSQL mysql优势开源(可根据需要修改),免费
支持大型数据库,可以处理拥有上千万条记录的大型数据库
核心线程完全是多线程,支持多处理器
mysql安装 sudo apt install mysql-server 启动服务器启动服务
sudo service mysql start重启服务
sudo service mysql restart查看服务进程
ps -axu|grep mysqld 启动客户端-u 表示用户名, -p 表示密码
mysql -uroot -p # -p后输入root用户密码 配置支持远程连接MySQL默认不支持远程连接,只能本主机连接
配置:
找到MySQL配置文件并修改
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 将bind-address=127.0.0.1注释登录MySQL,修改Host值
登录 mysql -uroot -p 选择使用MySQL数据库 use mysql; 更新,将root原来的 Host值(localhost) 改成 % localhost 表示只能本地登录,% 表示任何机器都可以登录 update user set Host="%" where User = "root"; 刷新权限信息让所做的设置马上生效 flush privileges; 退出登录 exit;重启服务
sudo service mysql restart测试远程连接
-h 参数 指定客户端登录的MySQL主机名,登录本机,该参数可省略
如果是远程连接,则必须指定其值是远程主机的IP地址,这里的192.168.1.150就是主机的IP地址
mysql -h192.168.1.150 -uroot -p 数据库命令查看数据库
show databases;创建数据库
create database 数据库名 charset=utf8;删除数据库
drop database 数据库名;切换数据库
use 数据库名;查看当前选择的数据库
select database(); 表命令查看当前数据库中所有表
show tables;创建表
create table 表名(列及类型);修改表
alter table 表名 add|modify|drop 列名 类型;删除表
drop table 表名;查看表结构
desc 表名;更改表名称
rename table 原表名 to 新表名;查看表的创建语句
show create table 表名; 增删改查命令新增
insert into 表名 (field, field, ..., fieldN) values(value, value, ..., valueN);删除
delete from 表名 [where 条件];更新
update table_name set field = new-value, field = new-value [where 条件];查询
select field, field from table_name [where 条件]; 使用命令流程
service mysql start # 启动mysql mysql -uroot -p1234 # 登录mysql create database python default charset=utf8; # 创建python数据库 use python; # 切换到python数据库 -- 创建grade表(主键表) create table grade( id int primary key auto_increment, name varchar(100) not null ); -- 创建student表(外键表) create table student( id int primary key auto_increment, name varchar(100) not null, sex char(1) not null, phone char(11) unique not null, address varchar(100) default \'郑州\', birthday date not null, gid int not null, foreign key(gid) references grade(id) ); -- 年级(grade)表中插入数据 insert into grade(name) values(\'一年级\'); insert into grade(name) values(\'二年级\'); -- 学生(student)表中插入数据 insert into student(name, sex, phone, address, birthday, gid) values(\'王强\', \'男\' ,\'15583678666\' , \'开封\', \'1990-2-4\', 1); insert into student(name, sex, phone, address, birthday, gid) values(\'李丽\', \'女\', 16683678659\'\', \'郑州\', \'1991-3-12\', 2); select * from grade; # 查询年级(grade)表中的数据 select * from student; # 查询学生表数据 update student set phone = \'16683678657\' where id = 2; # 更改id为2的学生电话号码 delete from student where id = 1; # 删除id为1的学生 Python与MySQL交互安装pymysql模块
pip install pymysql -i https://pypi.tuna.tsinghua.edu.cn/simple创建连接
\'\'\'Python与MySQL交互-创建连接\'\'\' import pymysql 获取连接对象 conn = pymysql.Connect(host=\'localhost\', port=3306, db=\'python\', user=\'root\', passwd=\'1234\', charset=\'utf8\') print(conn) 关闭 conn.close()说明:
MySQL的服务器必须先启动才可以连接成功
pymysql.Connect用来创建数据库连接对象
参数
host=\'localhost\', 表示连接主机是本机,也可指定IP地址 port=3306,主机端口号,默认是3306host=\'localhost\',连接主机,localhost表示连接主机是本机,也可使用指定IP地址
port=3306, 主机端口号,mysql默认端口号为3306,一般不用更改
db=\'python\', 连接的数据库,这里连接的数据库是python
user=\'root\', 用户名
passwd=\'1234\',密码
charset=\'utf8\', 编码格式
连接对象使用完毕后要关闭,释放相关资源