数据库初涉

Structured Query Language

增加数据

  1. 向表中插入行
    INSERT INTO table_name (列1, 列2,…) VALUES (值1, 值2,….)
    INSERT INTO 表名称 VALUES (值1, 值2,….)

更新数据

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值,(后面可以加上条件 where id = 12 )
注意:条件可以利用 and 和 or 并列条件 和 查询多个条件;

查阅数据

SELECT LastName,FirstName FROM Persons
SELECT * FROM Persons(*取代列的名称)
注:
1. 同理后面可以加条件
2. as name 可以将查到的数据以新的字段形成新的列;

删除数据

  1. 删除行
    DELETE FROM 表名称 WHERE 列名称 = 值

分页查询

select * from user LIMIT 0,2;
limit 参数含义:
limit 的第一个参数表示查询的起始位置;
limit 的第二个参数表示查询的结束位置;

多表查询

select user.username,depart.type from user,depart WHERE user.departid = depart.id;

用程序操作数据库

  1. 安装
    npm install mysql/mysqljs
  2. 程序的基本方法(建立连接)
    实例:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     var mysql      = require('mysql');
    <!-- 配置参数 -->
    var connection = mysql.createConnection({
    host : 'localhost',//数据库的域名
    user : 'me',//数据库的用户名
    password : 'secret',//用户密码
    database : 'my_db'//数据库的名字
    });

    <!-- 建立连接 -->
    connection.connect();

    //query方法执行增删查改语句
    let string = 'SELECT 1 + 1 AS solution WHERE ID = ?';
    let data = [1];
    connection.query(, function (string,data,error, results, fields) {
    if (error) throw error;
    console.log('The solution is: ', results[0].solution);
    });

    connection.end();
    注意:语句传参用?,对应的参数利用数组盛装,作为query的第二个参数。
  3. 程序操作数据库之更新
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    var mysql      = require('mysql');
    var connection = mysql.createConnection({
    host : 'localhost',/*数据库的域名*/
    user : 'root',/*用户名*/
    password : '',/*用户密码*/
    database : 'book'/*数据库名称*/
    });

    connection.connect();

    let queryString = "update user set username = ? where id = ?";
    let data = ["chengwen",5];
    connection.query(queryString,data, function (error, results, fields) {
    if (error) throw error;
    console.log('The solution is: ', results.affectedRows);
    });

    connection.end();
  4. 程序操作数据库之查询
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    var mysql      = require('mysql');
    var connection = mysql.createConnection({
    host : 'localhost',/*数据库的域名*/
    user : 'root',/*用户名*/
    password : '',
    database : 'book'
    });

    connection.connect();

    let queryString = "select count(*) as num from depart";
    let queryString1 = "select * from user";
    connection.query(queryString1, function (error, results, fields) {
    if (error) throw error;
    console.log('The solution is: ', results[0].username);
    });

    connection.end();
  5. 程序操作数据库之删除
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    var mysql      = require('mysql');
    var connection = mysql.createConnection({
    host : 'localhost',
    user : 'root',
    password : '',
    database : 'book'
    });

    connection.connect();

    let queryString = "delete from user where id = ?";
    let data = [1];
    connection.query(queryString,data, function (error, results, fields) {
    if (error) throw error;
    console.log('The solution is: ', results.affectedRows);
    });

    connection.end();
  6. 程序操作数据库之插入
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    var mysql  = require('mysql');
    var connection = mysql.createConnection({
    host : 'localhost',/*数据库的域名*/
    user : 'root',/*用户名*/
    password : '',/*用户密码*/
    database : 'book'/*数据库名称*/
    });

    connection.connect();

    let queryString = "insert into user set ?";//这里的set是指表中字段,是第三方包中关键字,原生sql没有这个api。
    let data = {username:"lijunyi",password:"23444","age":12}
    connection.query(queryString,data, function (error, results, fields) {
    if (error) throw error;
    console.log('The solution is: ', results.affectedRows);
    });

    connection.end();