anyuan2002.com - vwin网

查找: 您的方位主页 > 电脑频道 > 编程代码 > 阅览资讯:MySQL数据库编程基础常识大全
vwin娱乐场

MySQL数据库编程基础常识大全

2017-08-23 13:52:27 来历:www.anyuan2002.com 【

MySQL数据库编程基础常识大全

1.装备MySLQ
2.SQL句子基础常识
3.Python操作MySQL基础常识
4.Python调用MySQL示例

一. 装备MySQL


首要下载mysql-5.0.96-winx64,装置进程如下图所示。
1.装置MySQL 5.0
MySQL数据库编程基础常识大全MySQL数据库编程基础常识大全

MySQL数据库编程基础常识大全MySQL数据库编程基础常识大全

2.挑选手动装备、服务类型、通用多功用型和装置途径
MySQL数据库编程基础常识大全MySQL数据库编程基础常识大全

MySQL数据库编程基础常识大全MySQL数据库编程基础常识大全

3.设置数据库拜访量衔接数为15、端口为3306(代码中设置URL用到)、编码办法为utf-8
MySQL数据库编程基础常识大全MySQL数据库编程基础常识大全

MySQL数据库编程基础常识大全MySQL数据库编程基础常识大全

4.设置默许超级root用户的用户名和暗码,最终装置成功
MySQL数据库编程基础常识大全MySQL数据库编程基础常识大全

二. SQL句子基础常识


装置MySQL 5.0成功后,进行数据库的简略操作。
1.运转MySQL输入默许用户暗码123456

MySQL数据库编程基础常识大全


2.创立数据库test01和运用数据库(第2次调用直接use database)
create database test01;

MySQL数据库编程基础常识大全


显现数据库中包括的数据库:show databases;


3.创立表student,其间学号为主键
create table student(username varchar(20),password varchar(20),stuid int primary key);

MySQL数据库编程基础常识大全


4.显现表结构,运用句子desc student

MySQL数据库编程基础常识大全


5.向学生表中刺进数据并显现查询的数据

MySQL数据库编程基础常识大全


6.删去表:drop table student;


7.更新数据
update student set password='000000'where stuid='1';

8.删去数据
Delete from student where username='eastmount;

此刻MySQL操作数据库根本解说完毕,你相同能够完成数据库的增修正查、业务、存储进程等操作,主张装置可视化的软件来代替黑框,或运用Navicat for MySQL软件即可。代码如下:

Enter password: ******
mysql> show databases;
+--------------------+
| Database   |
+--------------------+
| information_schema |
| mysql    |
| performance_schema |
| test    |
| test01    |
+--------------------+
5 rows in set (0.00 sec)

mysql> use test01;
Database changed
mysql> show tables;
Empty set (0.00 sec)

mysql> create table student(username varchar(20),
 ->     password varchar(20),
 ->     stuid int primary key);
Query OK, 0 rows affected (0.33 sec)

mysql> show tables;
+------------------+
| Tables_in_test01 |
+------------------+
| student   |
+------------------+
1 row in set (0.00 sec)

mysql> desc student;
+----------+-------------+------+-----+---------+-------+
| Field | Type  | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| username | varchar(20) | YES |  | NULL |  |
| password | varchar(20) | YES |  | NULL |  |
| stuid | int(11)  | NO | PRI | NULL |  |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.03 sec)

mysql> insert student(username, password, stuid)
 -> values('eastmount','123456',1)
 -> ;
Query OK, 1 row affected (0.05 sec)

mysql> select * from student;
+-----------+----------+-------+
| username | password | stuid |
+-----------+----------+-------+
| eastmount | 123456 |  1 |
+-----------+----------+-------+
1 row in set (0.00 sec)

mysql> update student set password='000000' where stuid='1';
Query OK, 1 row affected (0.10 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> select * from student;
+-----------+----------+-------+
| username | password | stuid |
+-----------+----------+-------+
| eastmount | 000000 |  1 |
+-----------+----------+-------+
1 row in set (0.00 sec)

mysql> delete from student where username='eastmount';
Query OK, 1 row affected (0.08 sec)

mysql> select * from student;
Empty set (0.00 sec)

mysql>

三. Python调用MySQL基础常识

一般的装置办法是运用:pip install mysql 装置Python的MySQL库,可是总会报错。常见过错如:
Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat)
mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h': No such file or directory
这些可能是驱动等问题。

正确装置办法:
主张下载一个MySQL-python-1.2.3.win-amd64-py2.7.exe文件进行装置。
官网地址:https://pypi.python.org/pypi/MySQL-python/
下载地址:http://www.jb51.net/softs/73369.html

下面咱们要详细了解Python数据库API。从Python中拜访数据库需求接口程序,接口程序是一个Python模块,它供给数据库客户端库(一般是C言语写成的)的接口供你拜访。留意:Python接口程序都一定要恪守Python DB-API标准。
DB-API是一个标准。它界说了一系列有必要的目标和数据库存取办法,以便为各式各样的底层数据库系统和多种多样的数据库接口程序供给共同的拜访接口。DB-API为不同的数据库供给了共同的拜访接口,在不同的数据库之间移植代码成为一件轻松的作业。

下面简略介绍DB-API的运用办法。

1.模块特点
DB-API标准里的以下特性和特点有必要供给。一个DB-API兼容模块界说如下所示:

apilevel:模块兼容的DB-API版本号
threadsafety:线程安全级别
paramstyle:支撑sql句子参数风格
connect():衔接数据库

Python调用MsSQL需求导入MySQLdb库,如下:

import MySQLdb

2.connect()函数

其间首要运用的办法是connect目标。connect()办法生成一个connect目标,用于拜访数据库,其参数如下:

user:Username
password:Password
host:Hostname
database:DatabaseName
dsn:Data source name

留意并非一切的接口程序都严厉依照这种格局,如MySQLdb。

import MySQLdb
conn = MySQLdb.connect(host='localhost', db='test01', user='root', passwd='123456', port=3306, charset='utf8')

connect()目标办法如下:

close():封闭数据库衔接,或许封闭游标目标
commit():提交当时业务
rollback():撤销当时业务
cursor():创立游标或类游标目标
errorhandler(cxn,errcls,errval):作为已给游标的句柄

留意,履行close()办规律上述的衔接目标办法不能再运用,不然发作反常。commit()、rollback()、cursor()或许更关于支撑业务的数据库更有意义。
数据库业务(Database Transaction) ,是指作为单个逻辑作业单元履行的一系列操作,要么完整地履行,要么彻底地不履行。 一旦你完成了数据库衔接,封闭了游标目标,然后在履行commit()提交你的操作,然后封闭衔接。

3.游标目标
上面说了connect()办法用于供给衔接数据库的接口,假如要对数据库操作那么还需求运用游标目标。游标目标的特点和办法:

fetchone():能够看作fetch(取出) one(一个),也便是得到成果集的下一行(一行)。
fetchmany(size):能够看作fetch(取出)many(多个),这儿的参数是边界,得到成果集的下几行(几行)
fetchall():望文生义,获得一切。
execute(sql):履行数据库操作,参数为sql句子。
close():不需求游标时尽可能的封闭

下面经过简略的示例进行解说。

四. Python调用MySQL示例

在前面数据库中咱们创立了数据库“test01”和表“student”,一起刺进了数据。那么,怎样经过Python来显现呢?
1.查询一切数据库
首要,咱们检查本地数据库中所包括的数据库称号,经过“show databases”句子。

import MySQLdb
 
try:
 conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',port=3306)
 cur=conn.cursor()
 res = cur.execute('show databases')
 print res
 for data in cur.fetchall():
  print '%s' % data
 cur.close()
 conn.close()
except MySQLdb.Error,e:
  print "Mysql Error %d: %s" % (e.args[0], e.args[1])

其间经过链接数据库代码为:
conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',port=3306)
拜访root超级用户,其暗码为“123456”,端口为“3306”,其成果如下:

假如不知道本地数据库的称号,能够经过该办法,先查询数据库中包括哪些数据库,然后再衔接该数据库进行相关的操作。

2.查询表
下面介绍查询表student中数据,代码如下,代码的详细意义是经过connect()衔接数据库,经过conn.cursor()界说游标,然后调用游标的excute(sql)履行数据库操作,此处为查询操作,再经过fetchall()函数获取一切数据。

# coding:utf-8 
import MySQLdb
 
try:
 conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',port=3306, db='test01', charset='utf8')
 cur=conn.cursor()
 res = cur.execute('select * from student')
 print u'表中包括',res,u'条数据\n'
 print u'数据如下:(名字 暗码 序号)'
 for data in cur.fetchall():
  print '%s %s %s' % data
 cur.close()
 conn.close()
except MySQLdb.Error,e:
  print "Mysql Error %d: %s" % (e.args[0], e.args[1])

输出成果如图所示:


对应的MySQL中的成果是共同的,下图是对应的成果。

3.创立表
下面这段代码是创立一张教师表,首要是经过commit()提交数据。

# coding:utf-8 
import MySQLdb
 
try:
 conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',port=3306, db='test01', charset='utf8')
 cur=conn.cursor()
 
 #检查表
 print u'刺进前包括表:'
 cur.execute('show tables')
 for data in cur.fetchall():
  print '%s' % data

 #刺进数据
 sql = '''create table teacher(id int not null primary key auto_increment,
        name char(30) not null,
        sex char(20) not null
   )'''
 cur.execute(sql)

 #检查表
 print u'\n刺进后包括表:'
 cur.execute('show tables')
 for data in cur.fetchall():
  print '%s' % data
 cur.close()
 conn.commit()
 conn.close()
except MySQLdb.Error,e:
  print "Mysql Error %d: %s" % (e.args[0], e.args[1])

输出成果如下所示,刺进教师表,包括字段:教师序号(id)、教师称号(name)、教师性别(sex)。

刺进数据也能够经过execute(sql)办法完成,如:
cur.execute("insert into student values( 'yxz', '111111', '10')")
但刺进的新数据一般是经过变量进行赋值,而不是固定的,所以要对这条句子中的值做修正。咱们能够做如下修正:

# coding:utf-8 
import MySQLdb
 
try:
 conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',port=3306, db='test01')
 cur=conn.cursor()
 
 #刺进数据
 sql = '''insert into student values(%s, %s, %s)'''
 cur.execute(sql, ('yxz','111111', '10'))

 #检查数据
 print u'\n刺进数据:'
 cur.execute('select * from student')
 for data in cur.fetchall():
  print '%s %s %s' % data
 cur.close()
 conn.commit()
 conn.close()
except MySQLdb.Error,e:
  print "Mysql Error %d: %s" % (e.args[0], e.args[1])

输出成果如下所示:

>>> 
刺进数据:
esatmount 123456 1
yangxiuzhang 123456 2
xiaoy 123456 3
yxz 111111 10
>>> 

相同,对数据库的增修正插都能够进行,请读者自行阅览。
引荐材料:python运用mysql数据库 - 虫师
后边我会结合Python爬虫叙述,怎么将爬取的内容存储在数据库中,如我CSDN的博客,爬取博客标题、发布时刻、阅览量和谈论数。

MySQL数据库中成果如下图所示:

最终期望文章对你有所协助,假如文章中存在缺乏或过错的当地,还请海涵~仍是那句话,挺享用现在的教师日子,不管科研、项目,仍是教育,很充分,加油!


本文地址:http://www.anyuan2002.com/bcdm/91477.html
Tags: mysql python 专题
修改:vwin网
推行内容
引荐阅览
抢手引荐
引荐文章
关于咱们 | 联络咱们 | 友情链接 | 网站地图 | Sitemap | App | 回来顶部