mysql
web
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。sql
每一个数据库都有一个或多个不一样的 API 用于建立,访问,管理,搜索和复制所保存的数据。数据库
咱们也能够将数据存储在文件中,可是在文件中读写数据速度相对较慢。npm
因此,如今咱们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是创建在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。安全
RDBMS 即关系数据库管理系统(Relational Database Management System)的特色:数据结构
MySQL服务
navicat函数
打开和关闭数据库链接工具
建立用户、设置用户权限性能
新建数据库、新建表、设计表(设置字段类型)、设置Id自增、日期自动插入
新建users
用户表,表字段为:id、name、age、gender、address、isdel
Id自增:设置为主键,勾选自动递增
主键:是用来标识数据表中每一行数据的惟一性的,确保独一无二性。
1 -- 查询的SQL语句 查询出来的数据都是结果集 2 -- 语法: select * from 表名 where 条件 3 -- && 用 and 代替 || 用 or 代替 ! 用 not 代替 4 select * from stuInfo; -- 表示查询全部的数据信息 5 select id,name,gender from stuinfo; -- 根据指定的字段来查询 6 select * from stuinfo where id = 2; -- 查询id为2的那一条数据 7 select name,age from stuinfo where id = 3; -- 查询id为3的那条数据中的name age id 8 select * from stuinfo where id =3 or id= 5; -- 查询id为3 和5 的那两条数据 9 select * from stuinfo where id in (2,3,4,5,7); -- 查询id为 2 3 4 5 7 的那些数据
1 -- 增长语句 2 -- 语法: insert [into] 表名 (字段1,字段2...) values (值1,值2...); 3 insert into stuinfo (id,name,gender,age,phone) values (NULL,'张三','男',20,'1302012345'); 4 insert into stuinfo (name,age,gender) values ('李四',21,'男'); 5 insert into stuinfo values (null,"王五","男",21); -- 若是直接写值的话,必须和字段匹配起来,这样写会报错的 6 insert into stuinfo values (null,"王五","男",21,"1234666"); -- 没有字段的时候,若是要是直接添加值的话,必须和字段对应,不能缺乏
-- 修改语句 -- 语法: UPDATE 表名 set 字段1= 值1,字段2 = 值2... where 条件 UPDATE stuinfo set gender = '男'; -- 若是后面没有跟条件的话,则表示将表中全部的数据中的gender都改为了男 UPDATE stuinfo set gender = '女' WHERE id = 3; -- 将id为3的那条数据中的gender修改成“女” UPDATE stuinfo set gender = '女' WHERE age = 21 and name = '李四'; -- 将数据表中名字叫"李四"
1 -- 删除语句 2 -- 语法: DELETE FROM 表名 where 条件 3 DELETE FROM stuinfo where id = 7; -- 删除id=7的数据 4 DELETE FROM stuinfo where id = 2 or id = 8; --删除id=2 和 id=8 的数据 5 DELETE FROM stuinfo where id in (4,5,10); -- 删除id为 4 5 10 的数据 6 DELETE FROM stuinfo WHERE gender ='男' AND age = 20; -- 经过多条件来删除数据 and 在这里表示而且的关系 7 DELETE FROM stuinfo WHERE id > 10; -- 还能够根据id的特性 删除id大于10的数据 8 DELETE FROM stuinfo -- 不写条件 则会删除库中全部的数据
SELECT count(*) FROM stuinfo; -- count用来统计全部的数据条数 会根据里面的参数来进行统计 SELECT count(id) FROM stuinfo; -- 根据id来统计具体的数据条数 SELECT count(phone) FROM stuinfo; -- 根据phone字段来统计具体的条数,若是数据为空则会忽略
SELECT MAX(age) FROM stuinfo; -- 查询年龄中的最大值 SELECT MIN(age) FROM stuinfo; -- 查询年龄中的最小值 SELECT avg(age) FROM stuinfo; -- 查询年龄中的平均值 average 平均值
1 SELECT * FROM stuinfo order by id; -- order by是用来排序的,默认是以升序进行排序 asc就是升序排序 2 SELECT * FROM stuinfo ORDER BY id desc; 3 SELECT * FROM stuinfo ORDER BY age desc; -- desc是降序排列
1 SELECT * FROM stuinfo ORDER BY id; 2 select * from stuinfo limit 3; -- 取结果集中的前3条 3 SELECT * FROM stuinfo ORDER BY id limit 3; 4 5 -- limit n (索引) m (数量) 数据表中数据的索引默认也是从0开始的,索引只会对剩下的数据进行排序 6 SELECT * FROM stuinfo ORDER BY id LIMIT 3, 3; 7 8 -- 还能够这样来实现一个分页 limit count(数量) offset index(索引); 9 SELECT * FROM stuinfo ORDER BY id limit 3 offset 0; -- 从索引为0的位置向下查询3条 10 SELECT * FROM stuinfo ORDER BY id limit 3 offset 3; -- 从索引为3的位置向下查询3条 11 SELECT * FROM stuinfo ORDER BY id limit 3 offset 6; -- 从索引为6的位置向下查询3条 12 13 -- 通过上面的规律能够总结以下: 14 int pageCount = 3 ; -- 每页显示的条数 15 int pageSize = 1 ; -- 当前的页码 1 第1页 2 第2页 3 第3页 16 17 SELECT * FROM stuinfo ORDER BY id LIMIT pageCount offset (pageSize - 1)* pageCount;
在项目跟目录下安装 : $ cnpm install mysql
let mysql = require('mysql'); let connection = mysql.createPool({ host : 'localhost', // user : 'root', password : '123456', database : 'test' }); connection.connect(); connection.query('SELECT 1 + 1 AS solution', function (error, results, fields) { if (error) throw error; console.log('The solution is: ', results[0].solution); });
var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : '123456', port: '3306', database: 'test' }); connection.connect(); var sql = 'SELECT * FROM websites'; //查 connection.query(sql,function (err, result) { if(err){ console.log('[SELECT ERROR] - ',err.message); return; } console.log('--------------------------SELECT----------------------------'); console.log(result); console.log('------------------------------------------------------------\n\n'); }); connection.end();
var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : '123456', port: '3306', database: 'test' }); connection.connect(); var addSql = 'INSERT INTO websites(Id,name,url,alexa,country) VALUES(0,?,?,?,?)'; var addSqlParams = ['菜鸟工具', 'https://c.runoob.com','23453', 'CN']; //增 connection.query(addSql,addSqlParams,function (err, result) { if(err){ console.log('[INSERT ERROR] - ',err.message); return; } console.log('--------------------------INSERT----------------------------'); //console.log('INSERT ID:',result.insertId); console.log('INSERT ID:',result); console.log('-----------------------------------------------------------------\n\n'); }); connection.end();
var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : '123456', port: '3306', database: 'test' }); connection.connect(); var modSql = 'UPDATE websites SET name = ?,url = ? WHERE Id = ?'; var modSqlParams = ['菜鸟移动站', 'https://m.runoob.com',6]; //改 connection.query(modSql,modSqlParams,function (err, result) { if(err){ console.log('[UPDATE ERROR] - ',err.message); return; } console.log('--------------------------UPDATE----------------------------'); console.log('UPDATE affectedRows',result.affectedRows); console.log('-----------------------------------------------------------------\n\n'); }); connection.end();
ar mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : '123456', port: '3306', database: 'test' }); connection.connect(); var delSql = 'DELETE FROM websites where id=6'; //删 connection.query(delSql,function (err, result) { if(err){ console.log('[DELETE ERROR] - ',err.message); return; } console.log('--------------------------DELETE----------------------------'); console.log('DELETE affectedRows',result.affectedRows); console.log('-----------------------------------------------------------------\n\n'); }); connection.end();