十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
开启mysql的常规查询日志 所谓的常规查询日志,就是客户端操作的所有日志,包括select delete insert update等等所有的sql语句 开启的办法很简单: 1. 在etc/mysql/my.cnf中,加入 【注:如果 /var/log/mysql 这个目录对于mysql用户可写,那么重启mysql的时候会自动生成access.log这个文件。如果该目录对于mysql不可写,那么手工创建这个目录,并加入mysql用户的写权限。】
创新互联是一家集网站建设,武强企业网站建设,武强品牌网站建设,网站定制,武强网站建设报价,网络营销,网络优化,武强网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
好像有点悲剧,只能用 SELECT.
就像下面这个 Hello World 一样。
mysql DELIMITER //
mysql CREATE PROCEDURE HelloWorld()
- BEGIN
- SELECT 'Hello World';
- END//
Query OK, 0 rows affected (0.00 sec)
mysql call HelloWorld();
- //
+-------------+
| Hello World |
+-------------+
| Hello World |
+-------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
应该是连接数据库吧,这是连接数据库的步骤:
在开发环境中加载指定数据库的驱动程序。
接下来的实验中,使用数据库MySQL,所以需要下载MySQL支持JDBC的驱动程序(mysql-connector-java-5.1.18-bin.jar)。
2. 开发环境是MyEclipse,将下载得到的驱动程序加载进开发环境中。
3. 在Java程序中加载驱动程序。
在Java程序中,通过 “Class.forName(“指定数据库的驱动程序”)”
方式来加载添加到开发环境中的驱动程序,例如Class.forName(“com.mysql.jdbc.Driver”)。
4. 创建数据连接对象:通过DriverManager类创建数据库连接对象Connection。
DriverManager类作用于Java程序和JDBC驱动程序之间,用于检查所加载的驱动程序是否可以建立连接,然后通过它的getConnection方法,根据数据库的URL、用户名和密码,创建一个JDBC
Connection 对象。代码如:Connection connection = DriverManager.getConnection(“连接数据库的URL", "用户名",
"密码”)。
其中,URL=协议名+IP地址(域名)+端口+数据库名称;用户名和密码是指登录数据库时所使用的用户名和密码。具体示例创建MySQL的数据库连接代码如下:
Connection connectMySQL =
DriverManager.geiConnection(“jdbc:mysql://localhost:3306/myuser","root"
,"root" );
5. 创建Statement对象:Statement 类的主要是用于执行静态 SQL
语句并返回它所生成结果的对象。
通过Connection 对象的 createStatement()方法可以创建一个Statement对象。例如:Statement statament =
connection.createStatement(); 具体示例创建Statement对象代码如下:Statement statamentMySQL =connectMySQL.createStatement();
6. 调用Statement对象的相关方法执行相对应的 SQL
语句:通过execuUpdate()方法用来数据的更新,包括插入和删除等操作,例如向staff表中插入一条数据的代码:
statement.excuteUpdate( "INSERT INTO
staff(name, age, sex,address, depart, worklen,wage)" + " VALUES ('Tom1', 321,
'M', 'china','Personnel','3','3000' ) ") ;
7. 通过调用Statement对象的executeQuery()方法进行数据的查询,而查询结果会得到
ResulSet对象,ResulSet表示执行查询数据库后返回的数据的集合,ResulSet对象具有可以指向当前数据行的指针。通过该对象的next()方法,使得指针指向下一行,然后将数据以列号或者字段名取出。如果当next()方法返回null,则表示下一行中没有数据存在。使用示例代码如下:
ResultSet resultSel =
statement.executeQuery( "select * from staff" );
8. 关闭数据库连接:使用完数据库或者不需要访问数据库时,通过Connection的close() 方法及时关闭数据连接。
Python的MySQLdb模块是Python连接MySQL的一个模块,默认查询结果返回是tuple类型,只能通过0,1..等索引下标访问数据默认连接数据库:
复制代码 代码如下:
MySQLdb.connect(
host=host,
user=user,
passwd=passwd,
db=db,
port=port,
charset='utf8'
)
查询数据:
复制代码 代码如下:
cur = conn.cursor()
cur.execute('select b_id from blog limit 1')data = cur.fetchall()
cur.close()
conn.close()
打印:
复制代码 代码如下:
for row in data:
print type(row)
print row
执行结果:
复制代码 代码如下:
type 'tuple'
(1L,)
为tuple类型。
我们可以这么干使得数据查询结果返回字典类型,即 字段=数据导入模块
复制代码 代码如下:
import MySQLdb.cursors
在连接函数里加上这个参数 cursorclass = MySQLdb.cursors.DictCursor 如:
复制代码 代码如下:
MySQLdb.connect(
host=host,
user=user,
passwd=passwd,
db=db,
port=port,
charset='utf8',
cursorclass = MySQLdb.cursors.DictCursor
)
再重新运行脚本,看看执行结果:
复制代码 代码如下:
type 'dict'
{'b_id': 1L}
搞定!
注意,在连接的时候port如果要指定则值必须是整型,否则会出错!