解壓到純英文路徑node
MySQL 安裝目錄
C:/Develop/mysql
數據文件所在目錄
/Develop/mysql/data
複製代碼
解壓目錄添加 my.ini(配置文件)如:mysql
[mysqld]
#設置默認字符集,只會影響新建數據庫的默認
character-set-server=utf8
複製代碼
以管理員身份運行 CMD 執行如下命令,安裝一個 MySQL 服務sql
//定位到安裝目錄下的 bin 文件夾
cd <MySQL安裝目錄>/bin
//初始化數據所需文件以及獲取一個臨時的訪問密碼
mysqld --initialize --user=mysql --console
//將 MySQL 安裝爲服務 能夠指定服務名稱
mysqld --install MySQL
複製代碼
登入 MySQL 服務器,重置密碼mongodb
//先經過用戶名密碼進入 MySQL 操做環境
mysql -u root -p
Enter password: # 輸入臨時密碼
//設置數據庫訪問密碼,必定要加分號
mysql> set password for root@localhost = password('123');
複製代碼
在本地服務啓動或關閉mysql數據庫
cd <解壓目錄>/bin
mysql -u root -p
Enter password: # 這時會要求你輸入密碼
複製代碼
-數據庫管理工具npm
數據庫管理工具本質上就是一個使用數據庫服務器軟件(Server)提供的服務的數據庫客戶端(Client)如命令行工具,可視化工具數組
mysql> show databases; -- 顯示所有數據庫
mysql> create database <db-name>; -- 建立一個指定名稱的數據庫
mysql> use <db-name>; -- 使用一個數據庫,至關於進入指定的數據庫
mysql> show tables; -- 顯示當前數據庫中有哪些表
mysql> create table <table-name> (id int, name varchar(20), age int); -- 建立一個指定名稱的數據表,並添加 3 個列
mysql> desc <table-name>; -- 查看指定表結構
mysql> source ./path/to/sql-file.sql -- 執行本地 SQL 文件中的 SQL 語句
mysql> drop table <table-name>; -- 刪除一個指定名稱的數據表
mysql> drop database <db-name>; -- 刪除一個指定名稱的數據庫
mysql> exit|quit; -- 退出數據庫終端
複製代碼
使用第三方包mysql來操做數據庫bash
npm install mysql
var mysql = require('mysql');
// 1. 建立鏈接
var connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '199547com',
database: 'demo'
// 2. 鏈接數據庫
connection.connect();
// 3. 執行數據操做
connection.query('SELECT * FROM `songs`', function (error, results, fields) {
if (error) throw error;
console.log('The solution is: ', results);
});
// 4. 關閉鏈接
connection.end();
複製代碼
//插入所有字段
insert into users values (null, '王五', 0, '2020-12-12', '12312');
//指定字段
insert into users (name, gender, avatar) values ('王五', 0, '12312');
複製代碼
查詢服務器
// 查詢全部數據
select * from users;
//查詢單個(select 字段[, 字段2] from 表名)
select id, name, birthday from users;
select `id`, `title`, `name` from `users`;
複製代碼
修改mongoose
-- 更新數據
update users set name = '麻子', gender = 0
複製代碼
刪除
delete from users where id = 6
delete from users where id = 6 and gender = 0
delete from users where id = 6 or gender = 0
delete from users where id > 6
delete from users where id in (4, 5)
複製代碼
mongod --version
驗證是否成功//啓動
//mongodb默認執行mongod命令,所屬盤符根目錄下的/data/db做爲本身的數據儲存目錄。
//第一次執行該命令時,先本身手動新建/data/db
mongod
//中止
在開啓服務的控制檯,直接ctrl+c中止或關閉控制檯
複製代碼
//進入
mongo
//退出
exit
複製代碼
show dbs //查看顯示全部的數據庫
db //查看當前操做的數據庫
show collections //查看當前操做數據庫的集合
use 數據庫名稱 //切換到指定的數據庫,若是沒有會新建
db.文檔名稱.insertOne({"name":"jack"}) //插入數據
db.文檔名稱.find() //查看該文檔對象的全部數據
複製代碼
使用第三方包mongoose(基於node.js官方包mongodb再一次封裝)來操做mongodb數據庫
{
// taobao、jidao、qq這些都是數據庫名稱,能夠 db 查看當前操做數據庫
// users、products 這些是集合 collections 建立的時候數據庫會自動加 s 在後面
// 集合 collections 裏面的每一條數據都是文檔 document,結構都被 Schema 所規定。
qq: {
user: [
{ name: "張三" age: 18},
{ name: "張三" age: 18},
{ name: "張三" age: 18},
{ name: "張三" age: 18},
{ name: "張三" age: 18},
...
],
product: [
],
...
},
taobao: {
},
jidao: {
},
baidu: {
},
...
}
複製代碼
npm install mongoose
var mongoose = require('mongoose')
mongoose.connect('mongodHb://localhost:27017/test', { useNewUrlParser: true })
var Cat = mongoose.model('Cat', { name: String })
var kitty = new Cat({ name: 'Zildjian' })
kitty.save().then(() => console.log('meow'))
複製代碼
在 Mongoose 中,全部數據都由一個 Schema 開始建立。每個 schema 都映射到一個 Mongodb 的集合(collection),並定義了該集合(collection)中的文檔(document)的形式。
var mongoose = require('mongoose') //引入mongoose模塊
mongoose.connect('mongodb://localhost/itcast')//鏈接 mongoDB 的數據庫,若是沒有就自動新建
var Schema = mongoose.Schema //引用 mongoose 的結構框功能
var userSchema = new Schema({ // 設計文檔結構(表結構)
username: {
type: String,
required: true
},
password: {
type: String,
required: true
},
email: {
type: String
}
})
//創建了一個集合 collections 名爲Users
//集合裏面的每一條 數據/文檔/docuemnt 都有着上面新建 Schema 的規則來存儲
// 將文檔結構發佈爲模型
var User = mongoose.model('User', userSchema)
// 直接導出模型構造函數
module.exports = mongoose.model('User', userSchema)
複製代碼
增長功能
var admin = new User({
username: 'zs',
password: '123',
email: 'zhanglichun@qq.com'
})
admin.save(function (err, ret) {
if (err) {
console.log('保存失敗')
} else {
console.log('保存成功')
}
})
複製代碼
查詢功能
//查詢全部數據
User.find(function (err, ret) {
if (err) {
console.log('查詢失敗')
} else {
console.log('查詢成功')
console.log(ret)
}
})
//根據條件查詢數據
User.find({
_id: '5ca3894ee78a732a245e3bb8',
username: 'zs'
}, function (err, ret) {
if (err) {
console.log('查詢失敗')
} else {
console.log(ret)
}
})
//根據條件查詢數據的第一個
User.findOne({
username: 'zs'
}, function (err, ret) {
if (err) {
console.log('查詢失敗')
} else {
console.log(ret)
}
})
//根據id值查詢數據
User.findById('5ca3894ee78a732a245e3bb8', function (err, ret) {
if (err) {
console.log('查詢失敗')
} else {
console.log(ret)
}
})
複製代碼
更新功能
User.findByIdAndUpdate('5ca3894ee78a732a245e3bb8', {
username: 'll',
password: '8888'
}, function (err, ret) {
if (err) {
console.log('更新失敗')
} else {
console.log('更新成功')
console.log(ret)
}
})
複製代碼
刪除功能
User.findByIdAndDelete('5ca3894ee78a732a245e3bb8', function (err, ret) {
if (err) {
console.log('刪除失敗')
} else {
console.log('刪除成功')
console.log(ret)
}
})
複製代碼