[toc]

sql

SELECT * FROM `base_equipment_component_spare` WHERE equipment_id=1506872389953138690
## 在设置时间项时,设置默认值可以填写 CURRENT_TIMESTAMP

## 查询
SELECT * FROM company;

## 获取 uuid
SELECT UUID()

## 求和
SELECT SUM(total) company

## 添加 income 有的字段加反引号的原因是与保留字段冲突
INSERT INTO income (id, product, `change`, total) VALUES ('12e12e1', 8, 8, 8);

## 删除数据
DELETE FROM income WHERE id='12e1e1'

## 删除所有数据
DELETE FROM income 

## 删除所有数据 不计入日志 不可恢复
TRUNCATE TABLE income

数据库基础知识

  • 平衡树:主流的RDBMS都是把平衡树当做数据表默认的索引数据结构

  • 有无主键 没有主键的表,数据无序的放置在磁盘存储器上,一行一行的排列的很整齐。 有主键,「表」的数据格式转换成「索引(平衡树)」的格式放置,变成了一个聚集索引

  • 建一个新索引, 字段中的数据就会被复制一份出来, 用于生成索引。会增加表的体积, 占用磁盘存储空间。

  • 非聚集索引, 即常规索引,采用平衡树作为索引的数据结构,每个索引互相之间不存在关联

  • 通过聚集索引可以查到需要查找的数据, 而通过非聚集索引可以查到记录对应的主键值 , 再使用主键的值通过聚集索引查找到需要的数据

Mongo

报错信息

  • 发生系统错误 5。 :请使用管理员权限

安装 mongoDB

如下方法写于(版本v3.4.6)

https://docs.mongodb.com/manual/tutorial/install-mongodb-enterprise-on-windows/

  1. 官网下载安装https://www.mongodb.com/open in new window

  2. 将安装的bin目录(默认一般在C:\Program Files\MongoDB\Server\3.4)添加到环境变量即可在任意目录打开命令行执行mongo命令

  3. 安装为Windows服务,使用命令:mongod --config F:\mongodb\mongo.config --install --serviceName "any name" 当前版本已经自带了MongoDB服务

  4. 启动服务 net start/stop name(管理员权限) 删除用 sc delete name

  5. 新版安装好后会默认安装 mongoDBCompass 可以作为简单的 GUI 操作数据库

启动mongod服务:
bin目录下执行'mongod'即可(当已经创建了将MongoDB服务器作为Windows服务运行时就可用上面的命令:net...)

  • 进入目录bin中然后执行mongo.exe||mongo (在powershell中用 .\mongo.exe)
  • 然后进入mongodb shell(是mongodb自带的交互式JavaScript shell)用来是对mongodb 的后台进行操作和管理。
  • 当你进入mongodb后台后,默认链接到test文档(数据库)

操作


创建数据库 use databaseName(如果数据库不存在就创建,存在就切换到指定数据库)。
删除数据库 db.dropDatabase();//先进入数据库

show dbs 查看所有数据库

db 显示当前数据库名

db.dropDatabase() 删除数据库:(先进入数据库)

show collections(集合,收集)查看数据库中有哪些表:(先进数据库)

db.createCollection(表名)||或者直接添加数据时会自动创建表 创建表

db.表名.drop() //先进入数据库 删除表


添加数据:
db(固定).任意名称.insert({键值对})||用数组[{},{}]批量插入


查看数据:
db.表名.find()//查看所有数据 findOne(query, options, callback)
options:fields(fields to include{a:1} or exclude{a:0} )


更改字段值//只修改搜到的第一个
db.表名.update({"条件字段名":"字段值"},{$set:{"要修改的字段名":"修改后的字段值"}});


删除数据
db.表名.remove({键值对})//当不加参数时就直接删除表中所有数据(name:’hew’||’name’:’hew’)

node调用

有两种驱动 MongoDB Driver 和 Mongoose

  • mongodb driver 参考 node-koa/graphql
  • mongoose 参考 node-egg/ 它是针对mongoDB操作的一个对象模型库,封装了mongoDB对文档的一些增删改查等常用方法,让nodejs操作mongoDB数据库变得更加容易

mongodb 增删盖查数据库很自由,插入数据时传入 json 数据就可以了,而没有对 json 格式进行约束。无法保证存在数据库里的数据都是同样的格式。

mongoose 为 mongodb 提供了一种直接的,基于 scheme 结构去定义你的数据模型。它内置数据验证,查询构建,业务逻辑钩子等,开箱即用。有表的概念

studio3t

robo 3t 的收费版

|-mymongo localhost:27017 数据库地址
	|-mydatabase 数据库名称
		|- Collections 集合(表)
  • mongoose 参考 node-egg/

MySQL

  • navicat 设置自增 用 int 类型 勾选 auto increment 设置主键

报错: Cannot enqueue Handshake after invoking quit

数据库的链接对象是挂掉后无法重连,而且数据库的链接次数有限;重新打开数据库链接比数据库操作消耗更多

网页伺服较少情况可以一次链接后不再断开


查看安装路径:在mysql command line client 中输入 show variables like "%char%"

执行mysql命令后面注意加分号

在powershell 下执行命令注意是否要加 ./ 当前目录

  • 从8.0.17版本开始,TINYINT, SMALLINT, MEDIUMINT, INT, and BIGINT类型的显示宽度将失效,zerofill补零操作也废弃了;原来int(4)这种形式 实际也只是做标记使用,真实的可存储数据长度是根据类型来的,参考 https://dev.mysql.com/doc/refman/8.0/en/integer-types.html

用installer msi 安装

直接下载 社区版 msi 安装包 https://dev.mysql.com/downloads/installer/

一直默认安装即可


  1. 下载 installer 带 web 的版本表示安装时需要联网 https://dev.mysql.com/downloads/installer/
  2. MySQL Community Server 社区版本,开源免费,但不提供官方技术支持
  3. MySQL Workbench(GUI TOOL)一款专为MySQL设计的ER/数据库建模工具
  4. check requirements 选择 Execute
  5. 一直默认 只安装server
  6. product configuration 可以不填
  7. Root Password mysql123456; tcp/ip port 3306 X Protocol Port 33060
  • 没有my.init文件,可以在C:\ProgramData\MySQL\MySQL Server 8.0中拷贝一份

  • 报错

  1. Client does not support authentication protocol requested by server; consider upgrading MySQL client
# 处理方式为 执行如下命令
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '对应用户的密码';

zip 安装

  • 将解压后的文件放到任意目录,可改名

  • 将\bin 添加到环境变量中(this PC > properties > advanced system settings)

  • bin的同级目录 创建my.ini文件

[mysqld]

 ## 设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld]
#设置3306端口
port = 6767 
## 设置mysql的安装目录
basedir=C:\Program Files\mysql

## 设置mysql数据库的数据的存放目录

datadir=C:\Program Files\mysql\data

## 允许最大连接数
max_connections=200
## 服务端使用的字符集默认为UTF8
character-set-server=utf8
## 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

注意用 mysqld --console 查看错误

  1. mysqld --romve //删除mysql服务
  2. mysqld --install //安装mysql服务
  3. mysqld --initialize //一定要初始化
  4. net start mysql

使用

创建或修改表的时候,注意表中是否有数据

参考: https://learnku.com/articles/67706

Last Updated:
Contributors: Warren