Python开辟【第8一篇】:MySQL

一:开拓条件的安插

数据库介绍

数据库(Database)是比照数据结构来组织、存款和储蓄和治本数据的旅舍。每种数据库都有三个或八个不等的API用于创建、访问、管理、找出和复制所保存的数额。种种数据库都有1个或多个不等的API用于创制、访问、管理、搜索和复制所保存的多寡。我们得以将数据存款和储蓄在文书中,不过在文件中读写多少速度相对异常慢。所以,未来大家选取关系型数据库管理种类(凯雷德DBMS)来储存和保管大的数据量。所谓关系型数据库,是创制在关系模型基础上的数据库,借助于集结代数等数学概念和措施来管理数据库中的数据。

KoleosDBMS即关周详据库管理种类(Relational Database Management
System)的风味:

一、数据以表格的款型出现。

二、每行为种种记录名称。

三、每列为记录名称所对应的数据域。

4、大多行和列组成一张表单。

5、若干的表单组成database。

壹:桌面情形为cnetos柒+python2.7

RAV4DBMS常用术语

数据库:数据库是绵绵储存在微型Computer内、有组织的、可共享的多寡集结,具备极小的冗余度,较高的数据独立性和易扩张性。

行:在SQL中把古板的涉及模型中的元组称为行(row)。

列:在SQL中把古板的涉及模型中的属性称为列(coloumn)。

基本表:在SQL中把传统的关联模型中的关系形式称为基本表(bsetble),基本代表本身独立的表,一个涉及就相应1个基本表。

实表:基本表就被称作实表,它是事实上存放在数据库中表。

虚表:视图就被誉为虚表,因为在数据库中只存款和储蓄视图的定义而不存放视图所对应的数额。

冗余:指多少里面包车型地铁重新,也得以说是同1数据存款和储蓄在差别数据文件中的现象。

记录:3个记录就是多少表中的壹行,叁个数目表中的每2个笔录均有八个唯一的号码(记录号)。

元组:在论及中记录称为元组。

超键:在提到中能唯1标记元组的天性集称为关联形式的超键。注意,超键是三个性格集。

候选键:不分包多余属性的超键称为候选键。

主键:用户选作元组标记的二个候选键为主键。

外键:有些关系的主键相应的性质在另一涉及中冒出,此时该主键正是另一关联的外键。

复合键:将多少个字段作为多个主键。

目录:对数据库表中一列或多列的值实行排序的一种结构,使用索引可赶快访问数据库表中的特定消息。

实体完整性规则:那条规则须求涉嫌瓜月组在结合主键的性质上不可能有空值。借使出现空值,那么主键值就起绵绵唯一标记元组的效率。

参考完整性规则:那条规则必要不引用不设有的实业。

壹NF:第叁范式。要是波及形式纳瓦拉的全部属性的值域中每1个值都是不可再解释的值,则称Murano是属于第3范式方式。假使某些数据库格局都以第一范式,则称该多少仓库储存格局属于第三范式的数据库形式。第二范式的方式供给属性值不可再差别成越来越小一些,即属性项不能够是性质组合和组属性组成。

二NF:第一范式。要是波及形式宝马X5为率先范式,且Enclave中每2个非主属性完全函数正视于Evoque的某部候选键,则称是第二范式;假诺有些数据库形式中每种关系情势都以第二范式,则称该数据库情势属于第二范式的数据库方式。

叁NF:第二范式。如果涉及方式科雷傲是第一范式,且各种非主属性都不传递重视于逍客的候选键,则称GL450是第三范式的情势。若是有个别数据库方式中的每一种关系方式都以第一范式,则号称三NF的数据库格局。

BCNF:BC范式。要是涉嫌方式普拉多是第三范式,且每种属性都不会传送正视于卡宴的候选键,那么称为Tiggo是BCNF的格局。

肆NF:第伍范式。设Tiggo是三个关联方式,D是HummerH二上的多值重视集结。假如D中国建工业总会公司立非通常多值注重X、Y时,X必是冠道的超键,那么称PAJERO是第五范式的情势。

2:MySQL的设置与布局

Mysql数据库

Mysql是最盛行的关系型数据库管理连串,在WEB应用方面MySQL是最棒的TiggoDBMS(Relational
Database Management System关全面据库管理体系)应用程式之1。由瑞典王国MySQL
AB集团开采,近来属于Oracle公司。MySQL是1种关周详据库处理连串,关联数据库将数据保存在分裂的表中,而不是将有着数据放在一个大栈室内,这样就大增了进程并进步了灵活性。

MySQL数据库注重特点:

一、使用C和C++编写,并应用了两种编写翻译器进行测试,保险源代码的可移植性。

二、援救AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/贰Wrap、Solaris、Windows等多种操作系统。

三、为二种编制程序语言提供了API。这个编制程序语言包蕴C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。

4、援助10二线程,丰硕利用CPU能源。

五、优化的SQL查询算法,有效地增加查询速度。

6、既能够作为一个独立的应用程序应用在客户端服务器互连网碰到中,也能够作为3个库而放置到别的的软件中。

亚洲必赢app,7、提供多语言辅助,常见的编码如普通话的GB
231二、BIG五,日文的Shift_JIS等都足以用作多少表名和数目列明。

8、提供TCP/IP、ODBC和JDBC等各类数据库连接门路。

九、提供用于管理、检查、优化数据库操作的管理工具。

10、帮忙大型的数据库。可以拍卖具有上千万条记下的特大型数据库。

1一、扶助多样囤积引擎。

1二、Mysql是开源的,所以你不须求开荒额外的花销。

一叁、Mysql使用正式的SQL数据语言方式。

14、Mysql对PHP有很好的支撑,PHP的日前主流的web开荒语言。

15、Mysql是足以定制的,采纳了GPL协议,你能够修改源码来开荒本身的Mysql系统。

  1)MySQL的安装

Mysql数据的装置使用

http://www.cnblogs.com/yinshoucheng-golden/p/6441975.html

亚洲必赢app 1

这么就代表MySQL运维成功。

  • 修改一时半刻密码:
    •   获取MySQL的一时半刻密码

为了抓牢安全性,MySQL5.7为root用户自由生成了1个密码,在error
log中,关于error
log的职务,借使设置的是RPM包,则私下认可是/var/log/mysqld.log。唯有运维过3遍mysql才足以查阅一时半刻密码

grep 'temporary password' /var/log/mysqld.log

(如果之前安装过MySQL则这里可能会有多个密码,用最后一个,注意这个密码输入时是可以粘贴的)

亚洲必赢app 2

此密码加密过,可以复制,前边一贯用

  • 登入并修改密码

    mysql -uroot -p

(这是一个MySQL的以密码登录root用户的命令)

用该密码登入到服务端后,必须立刻修改密码再进行一些数据库操作,不然会报如下错误:

mysql> select @@log_error;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql>
    • 修改密码(注意,登陆后的操作前边都最佳要有;结尾)

    ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘root123’;

    •   假诺密码设置太轻巧出现以下的晋升

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

        如何消除ERROR 1819 (HY000): Your password does not satisfy the current policy requirements呢?

        必须修改四个全局参数:
        首先,修改validate_password_policy参数的值

mysql> set global validate_password_policy=0;

        再修改密码的长短

set global validate_password_length=1;

        再一次施行修改密码就足以了

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123';

(ALTER等可以写成小写)

3:python操作MySQL数据库

  • Python 规范数据库接口为 Python DB-API,Python
    DB-API为开垦人士提供了数据库应用编程接口。

    Python 数据库接口支持更多的数据库,你可以选拔符合您项目标数据库:

    • GadFly
    • mSQL
    • MySQL
    • PostgreSQL
    • Microsoft SQL Server 2000
    • Informix
    • Interbase
    • Oracle
    • Sybase
  • 什么是MySQLdb?

  MySQLdb 是用于Python链接Mysql数据库的接口,它落成了 Python 数据库
API 标准 V二.0,基于 MySQL C API 上建立的。

  python2.*本子能够接纳MySQLdb,可是不帮忙python3,python三中有二个pymysql,详细安装格局见这里

  • 安装MySQL:

    yum install MySQL-python

一定要专注那蛋疼的大大小小写

  • 安装达成后,在python中

    import MySQLdb

不报错就认证模块安装到位

四:数据库连接

连日来数据库前,请先确认以下事项:

  • 您曾经创立了数据库 TESTDB.
  • 在TESTDB数据库中您曾经创设了表 EMPLOYEE
  • EMPLOYEE表字段为 FIHavalST_NAME, LAST_NAME, AGE, SEX 和 INCOME。
  • 连日来数据库TESTDB使用的用户名字为 “testuser” ,密码为
    “test1二叁”,你能够能够和睦设定或许直接利用root用户名及其密码,Mysql数据库用户授权请使用格兰特命令。
  • 在您的对讲机辰月经设置了 Python MySQLdb 模块。

    #!/usr/bin/python
    # –– coding: UTF-8 –

    import MySQLdb

    # 张开数据库连接
    db = MySQLdb.connect(“localhost”, “testuser”, “test123”, “TESTDB”, charset=’utf八’ )

    # 使用cursor()方法获得操作游标
    cursor = db.cursor()

    # 使用execute方法实行SQL语句
    cursor.execute(“SELECT VE揽胜SION()”)

    # 使用 fetchone() 方法获得一条数据
    data = cursor.fetchone()

    print “Database version : %s ” % data

    # 关闭数据库连接
    db.close()

施行以下脚本输出结果:

Database version : 5.0.45

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图