搜索
查看: 26632|回复: 13
打印 上一主题 下一主题

MySQL,MariaDB数据库操作

  [复制链接]

123

主题

1825

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
10175
跳转到指定楼层
楼主
发表于 2013-7-14 18:23:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

MariaDB实际上是MySQL的兼容分支, 下面的代码都可以支持。
mysql.client使用MariaDB提供的客户端组件(已内嵌在支持库中)

  1. import console;
  2. import mysql.client;

  3. console.log("正在连接数据库服务器...");
  4. thread.invoke( function()
  5.         while(! thread.get("db4free.net:end")){
  6.          io.stdout.write(">");sleep(100);
  7.     }  
  8. )

  9. var dbMysql,err = mysql.client(
  10.     server = "db4free.net"; //数据库服务器,可省略默认为localhost
  11.     uid = "aardio";//用户名,可省略默认为root
  12.     pwd = "aardio.com";  
  13. );

  14. thread.set("db4free.net:end",true)
  15. console.clearScreen ();
  16. if(!dbMysql){
  17.     console.log("连接数据库失败",err);
  18.     console.pause();
  19.     return;
  20. }

  21. //选择数据库
  22. dbMysql.selectDb("aardio")  

  23. //执行SQL语句,注意mysql表名、字段名可包含于反引号内(用键盘左上角ESC下方的按键内)
  24. dbMysql.exec("CREATE TABLE IF NOT EXISTS `library` (
  25.     `name` varchar(100) NOT NULL, `auditing` tinyint(1) DEFAULT '0',`bytes` BLOB,PRIMARY KEY (`name`),UNIQUE KEY `name` (`name`)
  26. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;");

  27. var dbTable,err  = dbMysql.listTables()
  28. for tbl in dbTable.each(){
  29.     console.log("发现数据表:",tbl);
  30. }

  31. //执行SQL语句,使用命名参数
  32. console.log(
  33.     dbMysql.exec("INSERT `library` VALUES('测试',@num,@str)",{
  34.         num = 123;
  35.         str = "测试:'这是字符串!'命名参数可以自动处理字符串转义";
  36.     } )
  37. )

  38. //查询数据并返回记录集
  39. var result = dbMysql.query("SELECT * FROM `library`");
  40. for name,auditing,bytes in result.each(){
  41.     console.log( name,auditing,bytes ); //逐行输出所有记录
  42. }

  43. //移除数据库
  44. dbMysql.exec("DROP TABLE IF EXISTS `library`");
  45. console.pause();
复制代码
mysql.client 连接数据库的参数参考了sqlServer连接参数的用法,
用sever参数指定数据库服务器、用uid指定数据库用户名、pwd指定用户密码,而可选的参数database可用于指定数据库

exec() 用于执行无返回值的SQL语句,而query()函数用于支持有返回结果的数据(也可以支持无返回结果的SQL),
这几个函数都支持简单的参数化查询,如果参数不是一个表则调用string.format()简单的格式化sql语句,如果参数是一个表则作为命名参数重新生成SQL语句( MySQL本身并不支持命名参数,通过重新构造SQL语句实现 )。

注意MySQL用重音号`包含表名(重音号也就是键盘左上角波浪号下面的符号, 英文 backquote,有些人叫反勾号、反引号、倒引号、后引号等等比较乱) , mysql与sqlite一样都支持比较好用的limit语句、replace into语句(MSSQL都不支持 ), sqlite也可以使用重音号`包含表名。参考帖子 MSSQL,MySQL 语法区别

1、论坛发贴请包含相关测试代码,代码写的不好没有关系,种种原因不能写代码、不愿写代码的问题自行解决。
2、BUG,意见建议请点击页面右上方链接提交。

违者罚!
回复

使用道具 举报

4

主题

56

帖子

541

积分

三级会员

Rank: 4

积分
541
沙发
发表于 2013-7-14 18:59:37 | 只看该作者

学习中,先抢个板凳

学习中,先抢个板凳
回复

使用道具 举报

7

主题

87

帖子

588

积分

三级会员

Rank: 4

积分
588
板凳
发表于 2013-7-14 19:19:27 | 只看该作者

支持一下,学习了!

支持一下,学习了!
本人男,爱好女!
http://www.hxcarrot.com
回复

使用道具 举报

7

主题

302

帖子

1893

积分

四级会员

Rank: 6Rank: 6

积分
1893
QQ
地板
发表于 2013-7-15 14:35:21 | 只看该作者

学习!

学习!
回复

使用道具 举报

3

主题

44

帖子

392

积分

二级会员

Rank: 3Rank: 3

积分
392
5#
发表于 2013-7-16 08:17:51 | 只看该作者

与时俱进的速度真快,MariaDB都引入了。

与时俱进的速度真快,MariaDB都引入了。
回复

使用道具 举报

2

主题

12

帖子

79

积分

一级会员

Rank: 2

积分
79
6#
发表于 2013-7-21 23:21:06 | 只看该作者

我滴个神!太帅了!!学习。。。

我滴个神!太帅了!!学习。。。
回复

使用道具 举报

16

主题

138

帖子

942

积分

三级会员

Rank: 4

积分
942
7#
发表于 2013-7-27 15:50:54 | 只看该作者

MDB、MSSQL、SQLite才上手练习过,又出Mysql真是太给力了!支持aardio!

MDB、MSSQL、SQLite才上手练习过,又出Mysql真是太给力了!支持aardio!
原创网http://fanal.cn谢谢支持
回复

使用道具 举报

0

主题

19

帖子

144

积分

一级会员

Rank: 2

积分
144
8#
发表于 2013-8-2 02:39:01 | 只看该作者

给力,学习中{:3_62:}

给力,学习中
回复

使用道具 举报

2

主题

6

帖子

57

积分

一级会员

Rank: 2

积分
57
9#
发表于 2013-8-17 13:01:13 | 只看该作者

小型数据库,用sqlite比较方便

小型数据库,用sqlite比较方便
回复

使用道具 举报

1

主题

38

帖子

296

积分

二级会员

Rank: 3Rank: 3

积分
296
10#
发表于 2013-8-29 17:06:13 | 只看该作者

好久没来了,又多了好多要学习的东西。支持老大!

好久没来了,又多了好多要学习的东西。支持老大!
回复

使用道具 举报

0

主题

3

帖子

39

积分

新手入门

Rank: 1

积分
39
11#
发表于 2014-8-19 09:12:03 | 只看该作者

非常好的内容,学习了。

非常好的内容,学习了。
回复

使用道具 举报

0

主题

9

帖子

43

积分

新手入门

Rank: 1

积分
43
12#
发表于 2016-5-1 13:27:07 | 只看该作者

学习一下

学习一下
回复

使用道具 举报

0

主题

1

帖子

6

积分

新手入门

Rank: 1

积分
6
13#
发表于 2016-10-23 16:14:36 | 只看该作者
怎么向表中增加数据?
回复

使用道具 举报

0

主题

12

帖子

70

积分

一级会员

Rank: 2

积分
70
14#
发表于 2017-6-2 16:51:42 | 只看该作者
好,学习学习!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2017-11-21 16:02 , Processed in 0.109375 second(s), 21 queries , WinCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表