lua访问mysql数据库

require "luasql.mysql"

--initial
env = luasql.mysql()

--connect db
db="testdb"
username="test"
password="test"
ip="127.0.0.1"
port="3306"
conn = env:connect(db,username,password,ip,port)

--set encode
conn:execute"SET NAMES UTF8"

--query
cur = conn:execute("select * from user")

--output result
row=cur:fetch({},"a")
while row do
    var=string.format("%s %s\n",row.userid,row.username)
    print(var)
    row=cur:fetch(row,"a")
end

--close
conn:close()
env:close()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据常⽤数据库汇总 通常数据库分为关系型数据库和⾮关系型数据库,关系型数据库的优势到现在也是⽆可替代的,⽐如MySQL、SQL Server、Oracle、 DB2、SyBase、Informix、PostgreSQL以及⽐较⼩型的Access等等数据库,这些数据库⽀持复杂的SQL操作和事务机制,适合⼩量数 据读写场景;但是到了⼤数据时代,⼈们更多的数据和物联⽹加⼊的数据已经超出了关系数据库的承载范围。 ⼤数据时代初期,随着数据请求并发量⼤不断增⼤,⼀般都是采⽤的集群同步数据的⽅式处理,就是将数据库分成了很多的⼩库,每个数据 库的数据内容是不变的,都是保存了源数据库数据副本,通过同步或者异步⽅式保证数据的⼀致性,每个库设定特定的读写⽅式,⽐如主 数据库负责写操作,从数据库是负责读操作,等等根据业务复杂程度以此类推,将业务在物理层⾯上进⾏了分离,但是这种⽅式依旧存在⼀ 定的负载压⼒的问题,企业数据在不断的扩增,后⾯就采⽤分库分表的⽅式解决,对读写负载进⾏分离,但是这种实现依旧存在不⾜,且 需要不断进⾏数据库服务器扩容。 所以到了⼤数据时代,业务更多的数据和物联⽹采集的数据已经超出了关系数据库的承载范围。本⽂着重介绍⼀下NoSQL(Not Only SQL)数据库。 ⼀、NoSQL数据库⼤致分为5种类型 1、列族数据库:BigTable、HBase、Cassandra、Amazon SimpleDB、HadoopDB等,下⾯简单介绍⼏个 (1)Cassandra:Cassandra是⼀个列存储数据库,⽀持跨数据⼼的数据复制。它的数据模型提供列索引,log-structured修改,⽀持 反规范化,实体化视图和嵌⼊超⾼速缓存。 (2)HBase:Apache Hbase源于Google的Bigtable,是⼀个开源、分布式、⾯向列存储的模型。在Hadoop和HDFS之上提供了像 Bigtable⼀样的功能。 (3)Amazon SimpleDB:Amazon SimpleDB是⼀个⾮关系型数据存储,它卸下数据库管理的⼯作。开发者使⽤Web服务请求存储和查 询数据项 (4)Apache Accumulo:Apache Accumulo的有序的、分布式键值数据存储,基于Google的BigTable设计,建⽴在Apache Hadoop、Zookeeper和Thrift技术之上。 (5)Hypertable:Hypertable是⼀个开源、可扩展的数据库,模仿Bigtable,⽀持分⽚。 (6)Azure Tables:Windows Azure Table Storage Service为要求⼤量⾮结构化数据存储的应⽤提供NoSQL性能。表能够⾃动扩展到 TB级别,能通过REST和Managed API访问。 2、键值数据库:Redis、SimpleDB、Scalaris、Memcached等,下⾯简单介绍⼏个 (1)Riak:Riak是⼀个开源,分布式键值数据库,⽀持数据复制和容错。(2)Redis:Redis是⼀个开源的键值存储。⽀持主从式复制、 事务,Pub/Sub、Lua脚本,还⽀持给Key添加时限。 (3)Dynamo:Dynamo是⼀个键值分布式数据存储。它直接由亚马逊Dynamo数据库实现;在亚马逊S3产品使⽤。 (4)Oracle NoSQL Database:来⾃Oracle的键值NoSQL数据库。它⽀持事务ACID(原⼦性、⼀致性、持久性和独⽴性)和JSON。 (5)Oracle NoSQL Database:具备数据备份和分布式键值存储系统。 (6)Voldemort:具备数据备份和分布式键值存储系统。 (7)Aerospike:Aerospike数据库是⼀个键值存储,⽀持混合内存架构,通过强⼀致性和可调⼀致性保证数据的完整性。 3、⽂档数据库:MongoDB、CouchDB、Perservere、Terrastore、RavenDB等,下⾯简单介绍⼏个 (1)MongoDB:开源、⾯向⽂档,也是当下最⼈⽓的NoSQL数据库。 (2)CounchDB:Apache CounchDB是⼀个使⽤JSON的⽂档数据库,使⽤Javascript做MapReduce查询,以及⼀个使⽤HTTP的 API。 (3)Couchbase:NoSQL⽂档数据库基于JSON模型。 (4)RavenDB:RavenDB是⼀个基于.NET语⾔的⾯向⽂档数据库。 (5)MarkLogic:MarkLogic NoSQL数据库⽤来存储基于XML和以⽂档为⼼的信息,⽀持灵活的模式。 4、图数据库:Neo4J、InfoGrid、OrientDB、GraphDB,下⾯简单介绍⼏个 (1)Neo4j:Neo4j是⼀个图数据库;⽀持ACID

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值