[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/
官网下载安装https://www.mongodb.com/
将安装的bin目录(默认一般在C:\Program Files\MongoDB\Server\3.4)添加到环境变量即可在任意目录打开命令行执行mongo命令
安装为Windows服务,使用命令:mongod --config F:\mongodb\mongo.config --install --serviceName "any name" 当前版本已经自带了MongoDB服务
启动服务 net start/stop name(管理员权限) 删除用 sc delete name
新版安装好后会默认安装 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/
一直默认安装即可
- 下载 installer 带 web 的版本表示安装时需要联网 https://dev.mysql.com/downloads/installer/
- MySQL Community Server 社区版本,开源免费,但不提供官方技术支持
- MySQL Workbench(GUI TOOL)一款专为MySQL设计的ER/数据库建模工具
- check requirements 选择 Execute
- 一直默认 只安装server
- product configuration 可以不填
- Root Password mysql123456; tcp/ip port 3306 X Protocol Port 33060
没有my.init文件,可以在C:\ProgramData\MySQL\MySQL Server 8.0中拷贝一份
报错
- 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 查看错误
- mysqld --romve //删除mysql服务
- mysqld --install //安装mysql服务
- mysqld --initialize //一定要初始化
- net start mysql
使用
创建或修改表的时候,注意表中是否有数据
navicat 安装
参考: https://learnku.com/articles/67706