hello sql

前置条件

  1. 廖雪峰 sql 教程
  2. alasql github
  3. 新建一个项目 $ npm i alasql

一、基本语法

根据示例 https://github.com/agershun/alasql 学习基本语法

1.建表( CREATE TABLE)
alasql(`
CREATE TABLE users (age number, name string, money number);
`);
2. 插入数据(INSERT INTO {table})
alasql(`
INSERT INTO users VALUES (25,'张三', 100);
`):

然后确认一下数据是否真的写入了

const mysql = alasql('

SELECT *FROM users;

');

console.log(mysql); // [ { age: 25, name: '张三', money: 100 } ]

于是写个遍历,插入更多数据,以供后面操作。

...
for(let i = 0; i< 100; i++) {
   
    const sql = `INSERT INTO users VALUES (${
     i}, '张${
     i}', ${
     i})`;
    alasql(sql);
}
const mysql = alasql('
SELECT * FROM users;
');
console.log(mysql);
// 输出:
[ {
    age: 25, name: '张三', money: 100 },
  {
    age: 0, name: '张0', money: 0 },
  {
    age: 1, name: '张1', money: 1 },
  {
    age: 2, name: '张2', money: 2 },
  {
    age: 3, name: '张3', money: 3 },
  {
    age: 4, name: '张4', money: 4 },
// ...
 {
    age: 99, name: '张99', money: 99 },
3. SELECT 语句

望文生义, SELECT 就是选中,命中。选中的对象是啥呢?其实就是表的 “列” column。
举例:

// 选中 users 表中所有的列
SELECT * FROM users;

// 只选中 name 这一列
SELECT name FROM users;

// 选中 name, age 两列
 SELECT name,age FROM users;

如果希望返回的结果集可以自定义列名(column) ,这种操作称之为 “投影”, 可以使用语法 :

SELECT1 别名1,2 别名2 FROM users;

举个 ?:

// 原 column 名为 name
...
[name]
张三
李四
王麻子
...

SELECT name '姓名' FROM users;
// 输出
...
[姓名]
张三
李四
王麻子
...
4. WHERE 语句

现在,从表中筛选出 age > 90 的:

...
const mysql = alasql(`SELECT * FROM users WHERE age>90;`);
console.log(mysql);
// 输出:
[ {
    age: 91, name: '张91', money: 91 },
  {
    age: 92, name: '张92', money: 92 },
  {
    age: 93, name: '张93', money: 93 },
  {
    age: 94, name: '张94', money: 94 },
  {
    age: 95, name: '张95', money: 95 },
  {
    age: 96, name: '张96', money: 96 },
  {
    age: 97, name: '张97', money: 97 },
  {
    age: 98, name: '张98', money: 98 },
  {
    age: 99, name: '张99', money: 99 } ]
5. 联合条件

联合条件,即多条件叠加。是为了提高命中数据的准确度,达到准确查找想要数据的目的。

AND
...
const mysql = alasql(`SELECT * FROM users WHERE age=60 AND money=60;`);
console.log(mysql);
// 输出:
[ {
    age: 60, name: '张60', money: 60 } ]
OR
...
const mysql = alasql(`SELECT * FROM users WHERE age=60 OR money=61;`);
console.log(mysql);
// 输出:
 [ 
 {
    age: 60, name: '张60', money: 60 },
  {
    age: 61, name: '张61', money
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值