python学习笔记11(数据库)

数据库分类

  • 关系型数据库: Mysql, Oracle(甲骨文公司), SQL Server,…
  • 非关系型数据库: redis, mongodb…

基本术语

  • 数据库:database
  • 数据表:table
  • 主键
  • 表头
create table employee(id varchar(50), name varchar(50), age int) default  charset=utf8;
insert into employee values ('1', '粉条', 10);
create table if not exists  employee(id varchar(50), name varchar(50), age int) default  charset=utf8;

数据库安装

1.安装mysql

yum search mariadb		#查找与mariadb有关的软件包
yum install mariadb mariadb-server -y		#安装mariadb的服务端和客户端

2.启动mariadb服务

systemctl start mariadb
systemctl enable mariadb

3.mariadb监听的端口

netstat -antlpe | grep mysql
ss -antlpe | grep mysql
vim /etc/services			#所有服务与端口默认的对应关系

mariadb的初始化

1.设置mysql的登录密码

mysql_secure_installation
mysql -uroot -p

在这里插入图片描述

2.显示数据库

show databases;

在这里插入图片描述

3.进入数据库,显示数据库中的表

use mysql;
show tables;

在这里插入图片描述
4.显示表的结构

desc user;

在这里插入图片描述
5.显示表中的内容,显示表中的某几列

select * from user;
select Host,User,Password from user;

在这里插入图片描述

在这里插入图片描述
6.创建数据库,创建表

create database test;
create table testuser(username varchar(10),passwd varchar(6));

在这里插入图片描述
在这里插入图片描述

insert into testuser values('user1','123');		#向表中插入内容
insert into testuser(passwd,username) values('456','user2');	#按指定顺序向表中插入内容
update testuser set passwd='456' where username='user1';	#更新表中内容
alter table testuser add sex varchar(3);		#加sex列到testuser表中
delete from testuser where username='user1';	#删除表中用户名为user1的记录
drop table testuser;		#删除表testuser
drop database test;		#删除数据库test

用户和访问权限操作

creat user test@localhost identified by '123';	#创建用户test,可在本地登录,密码为123
creat user test@% identified by '123';	#创建用户test,可在远程登录,密码为123
creat database mariadb;		#创建数据库mariadb,对普通用户进行
grant all on mariadb.* to test@localhost;		
#给test@localhost用户授权,如果为all,授权所有权限(insert,update,delete,select,create)
flush privileges;		#刷新重载授权表
show grants for test@localhost;		#查看用户授权
revoke delete,update on mariadb.* from test@localhost;
#删除指定用户授权
drop user test@localhost;
#删除指定用户

忘记root密码

1. 关闭mariadb服务
systemctl stop mariadb
2. 跳过授权表
mysqld_safe --skip-grant-table &
3. 修改root密码
mysql
> update mysql.user set Password=password('westos') where User='root';
4. 关闭跳过授权表的进程,启动mariadb服务,使用新密码即可
ps aux | grep mysql
kill -9 pid
mysql -uroot -p

备份和恢复

备份:
mysqldump -uroot -p mariadb >mariadb.dump
mysqldump -uroot -pwestos --no-data mariadb > `date +%Y_%m_%
d`_mariadb.dump
mysqldump -uroot -pwestos --all-databases >mariadb4.dump
恢复:
mysqladmin -uroot -pwestos create mariadb2
mysql -uroot -pwestos mariadb2< mariadb.dump

数据类型

  • 数值
    在这里插入图片描述
  • 日期
    在这里插入图片描述
  • 字符串
    在这里插入图片描述
  • 属性设置
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/mkgdjing/article/details/86748113