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();