解压到纯英文路径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)
}
})
复制代码