数据库对比学习
mysql (关系型) | mongodb (非关系型) | |
---|---|---|
database | database | |
table | collection | |
row 一行数据 (一个实体记录) | 文档(字典) | |
固定字段 | 不固定字段 | |
创建库 | create database 库名 | use 数据库名 |
查看所有库 | show databases | show dbs |
切换库 | use 数据库名 | use 数据库名 |
查看当前库 | select database() | db 或 db.getName() |
删除库 | drop database 数据库名 | db.dropDatabase() |
创建表/集合 | create table 表名(字段1 数据类型,字段2,数据类型) | createCollection('集合名') / db.集合名.insert(文档) |
查看所有表/集合 | show tables | show collections |
删除表/集合 | drop table 表名 | db.集合名.drop() |
mysql
使用mysql
windows:
-
启动mysql (管理员)
net start mysql57 (mysql57: 我的数据库实例名)
-
连接mysql
mysql -u root -p
linux:
-
启动mysql
sudo service mysql start
-
连接mysql
mysql -u root -p
-
退出登陆
exit 或 quit
检查mysql状态: sudo service mysql status
开启mysql服务器:sudo service mysql start
关闭mysql服务器:sudo service mysql stop
操作mysql
操作数据库
create database 数据库名; : 创建数据库
show databases; : 查看所有数据库
use 数据库名; : 切换数据库
select database(); : 查看当前数据库
drop database 数据库名; : 删除数据库
操作表格
create table 表名 : 创建表
show tables; : 查看所有表格
drop table 表名; : 删除表格
修改表:
-
修改表名
alter table 旧表名 rename 新表名
-
修改字段名
alter table 表名 change 旧字段名 新字段名 数据类型
-
修改字段的数据类型
alter table 表名 modify 字段名 数据类型
-
添加字段
alter table 表名 add 字段名 数据类型 {约束条件} {first | after 已存在字段名}
-
删除字段
alter table 表名 drop 字段名
-
修改字段的排列位置
alter table 表名 modify 字段1 数据类型 first | after 字段2 数据类型
first : 设置成第一个 after 字段2: 放在字段2后面
-
删除表的外键约束
alter table 表名 drop foreign key 外键约束名
-
删除表
#删除没有被关联的表 语法规则:DROP TABLE [IF EXISTS] 表1,表2... #删除被其他表关联的的表 直接删除会出现错误的,操作: 先解除关联 再进行删除
redis
使用redis
windows 和 linux
启动redis : redis-server
连接redis : redis-cli
操作redis
redis默认有16个集合 ,db=0~15
select db(0-15) : 选择数据库
flushdb : 清空当前数据库 (删除当前数据库中所有键)
flushall : 清空所有数据库 (删除所有数据库中的键)
keys * : 查看所有键 keys a* 查找以a开头的键 (匹配)
del key : 删除键
expire key seconds : 给指定的key添加过期时间,单位S
ttl key : 以秒为单位,返回该键剩余时间
exists key : 判断一个键是否存在
mongodb
使用mongodb
windows:
-
启动mongodb (管理员)
mongod.exe --dbpath=D:\应用软件\mysql千峰\mongodb\data\db (路径是自己添加的目录data\ 并排子目录db 和log )
-
连接mongodb (另开一个终端)
mongo.exe
linux:
-
启动mongodb
systemctl start mongodb
(netstat -plntu: 检查MongoDB是否已经启动在27017端口号上)
-
连接mongodb
mongo
操作mongodb
操作数据库
use 数据库名 : 创建或切换数据库,不存在则创建
show dbs : 查看所有数据库 (新创建的数据库没有插入数据不会显示)
db 或 db.getName : 查看当前使用的数据库
db.dropDatabase() : 删除当前数据库 ,db代表当前数据库
exit : 断开连接 help: 查看API
操作集合
创建集合 :
-
db.createCollection("集合名称") : 创建空集合
db.createCollection('集合名', 文档) : 创建并插入数据
-
db.集合名称.insert(文档) : 创建并插入数据
查看当前数据库所有集合: show collections
删除集合 : db.集合名称.dorp()
作者: Deaseyy
出处: http://www.cnblogs.com/Deaseyy/
新手一枚,请大佬们多多赐教!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接