作家
登录

前端与SQL

作者: 来源: 2017-06-12 12:11:58 阅读 我要评论

那什么是SQL呢?SQL是一种操作关系型DB的说话,支撑创建表,插入表,修改和删除等等,还供给异常强大年夜的萌芽功能。

常见的关系型数据库厂商有MySQL、SQLite、SQL Server、Oracle,因为MySQL是免费的,所以企业一般用MySQL的居多。

Web SQL是前端的数据库,它也是本地存储的一种,应用SQLite实现,SQLite是一种轻量级数据库,它占的空间小,支撑创建表,插入、修改、删除表格数据,然则不支撑修改表构造,如删掉落一纵列,修改表头字段名等。然则可以把整张表删了。同一个域可以创建多个DB,每个DB有若干张表,如下图示意:

(2)创建一个DB

如下代码所示:

应用openDatabase,传4个参数,指定命据库大年夜小,如不雅指定太大年夜,浏览器会提示用户是否许可应用这么多空间,如Safari的提示:

如不雅不许可,浏览器将会抛异常:

QuotaExceededError (DOM Exception 22): The quota has been exceeded.

如许就创建了一个数据库叫order_test,返回了一个db对象,应用这个db对象创建一张表

(3)创建表

如下代码所示:

  1. db.transaction(function(tx){ 
  2.  
  3. tx.executeSql("create table if not exists order_data(order_id primary key, format_city, lat, lng, price, create_time)", [], nullfunction(tx, err){ 
  4.  
  5. throw(`execute sql failed: ${err.code} ${err.message}`); 
  6.  
  7. }); 
  8.  
  9. });  

传一个回调给db.transaction,它会传一个SQLTransaction的实例,它表示一个事务,然后调executeSql函数,传四个参数,第一个参数为要履行的SQL语句,第二个参数为选项,第三个为成功回调函数,第四个为掉败回调函数,这里我们抛一个异常,打印掉败的描述。我们履行的SQL语句为:

—NoSQL做不了复杂萌芽,如膳绫擎的案例要按照日期/city归类的话,须要本身打开一个游标轮回做处理。所以我选择用Web SQL主如果这个原因。

create table if not exists order_data(order_id primary key, format_city, lat, lng, price, create_time)

意思是创建一张order_data表,它的字段有6个,第一个order_id为主键,主键用来标记这一列,并且不许可有反复的值。

如今往这张表插入数据。

(4)插入数据

预备好原始数据和对数据做一些处理,如下所示:

  1. var order = { 
  2.  
  3. orderId: 100314, format_city: "New York, NY, USA"
  4.  
  5. lat: 40.7127837, lng: -74.0059413, price: 150, createTime: 1473884040000};//把时光戳转成年代日2017-06-08类型的var date = dataProcess.getDateStr(order.createTime);  

然后履行插入:

就可以在浏览器控制台看到方才创建的数据库、表,如下图所示:

如不雅把方才的那条数据再插入一遍会怎么样呢?如刷新一下页面,它又从新履行。

(5)主键独一束缚

所以一般id是主动生成的,mysql可以指定某个整数字段为auto_increment,而web sql半数数字段不指定也是auto_increment,须要在创建的时刻指定当缁ぶ段为integer,如下语句:

  1. create table student(id integer primary key 
  2.  
  3. auto_increment 

      推荐阅读

      司法大数据 助力社会治理

    人平易近法院大年夜数据治理和办事平台已经汇聚了全公法院1.08亿件案件信息,成为全世界最大年夜的审判信息资本库。在聪明法院扶植中,发掘这些司法大年夜数据的潜在价值,应用云计算等技>>>详细阅读


    本文标题:前端与SQL

    地址:http://www.17bianji.com/lsqh/35701.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)