数据库分为关系数据库和非关系数据库,其中关系数据库常见的有mysql,sql server ,oracle等
非关系数据库有redis等
非关系型数据库的优势:
1性能NOSQL是基于键值对的,可以想象成表中的主键和值的对应关系,而且不需要经过SQL层的解析,所以性能非常高。2可扩展性同样也是因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展。
关系型数据库的优势:
1.复杂查询可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。
2. 事务支持使得对于安全性能很高的数据访问要求得以实现。对于这两类数据库,对方的优势就是自己的弱势,反之亦然。
个人常用关系型数据库时建议用MariaDB,MariaDB数据库管理系统是MySQL的一个分支,重要的一点就是 开源
MariaDB名称来自Michael Widenius的女儿Maria的名字。
数据库的安装
安装命令
yum -y install mariadb mariadb-server
设置启动服务并设置为开机自启
systemctl start mariadb systemctl enable mariadb
相关简单配置
mysql_secure_installation
首先是设置密码,会提示先输入密码
Enter current password for root (enter for none):<–初次运行直接回车
设置密码
Set root password? [Y/n] # 是否设置root用户密码,输入y并回车或直接回车
New password: #设置root用户的密码
Re-enter new password: # 再输入一次你设置的密码
其他配置
Remove anonymous users? [Y/n] # 是否删除匿名用户,默认删除,如有需要就no
Disallow root login remotely? [Y/n] #是否禁止root远程登录,回车,
Remove test database and access to it? [Y/n] # 是否删除test数据库,回车
Reload privilege tables now? [Y/n] # 是否重新加载权限表,回车
初始化MariaDB完成,接下来测试登录
mysql -uroot -ppassword
一般数据库操作分为5步骤
1 连接数据库
conn = pymysql.connect(
host='localhost',
user='root',
password='redhat',
db='helloTest',
charset='utf8',
autocommit=True, # 如果插入数据,, 是否自动提交? 和conn.commit()功能一致。
)
2 建立游标
cur = conn.cursor()
3 具体操作
try:
info = [(i, "westos%s" %(i)) for i in range(100)]
insert_sqli = "insert into hello values(%s, %s);"
cur.executemany(insert_sqli, info )
except Exception as e:
print("插入多条数据失败:", e)
else:
# 如果是插入数据, 一定要提交数据, 不然数据库中找不到要插入的数据;
#conn.commit()#手动提交
print("插入多条数据成功;")
4 关闭游标
cur.close()
5关闭连接
conn.close()