数据库总结

数据库常见搭建环境
mysql常用命令

Redis
Redis_常用指令

Mysql

MongDB

概念

Relational Database Management System:RDBMS—关系数据库管理系统
NoSQL: Not Only SQL -----非关系型数据库

  • DBMS(关系型数据库):常见的关系型数据库有 Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL;
  • NoSQL(非关系型数据库):常见的非关系型数据库有 MongoDB、Redis、Voldemort、Cassandra、Riak、Couchbase、CouchDB 等。

Redis 全称 Remote Dictionary Server(即远程字典服务),它是一个基于内存实现的键值型非关系(NoSQL)数据库。
MongoDB 是一个开源的、可扩展的、跨平台的、面向文档的非关系型数据库。

Sql

[root@docker01 ~]# mysql -uroot -p密码 -e “show databases;” #不登录数据库中查看

[root@docker01 ~]# yum install mariadb-server  安装
[root@docker01 ~]# yum remove mariadb-server   卸载
[root@docker01 ~]# rpm -qif `which mysql` #返回软件包的有关信息
[root@docker01 ~]# rpm -qf `which mysql`  #返回软件包的全名
[root@docker01 ~]# rpm -qlf `which mysql` #返回软件安装的文件列表
[root@hadoop101 network-scripts]# rpm -qf `which mysql`
mariadb-5.5.68-1.el7.x86_64
[root@docker01 ~]# systemctl start mariadb
[root@docker01 ~]# systemctl status mariadb
[root@docker01 ~]# systemctl enable mariadb # 设置为开机自启动服务
[root@docker01 ~]# systemctl is-enabled mariadb ##是否开机自启
首次安装需要进行数据库的配置:
[root@docker01 ~]# mysql_secure_installation
Enter current password for root (enter for none):  # 输入数据库超级管理员root的密码(注意不是系统root的密码),第一次进入还没有设置密码则<strong>直接回车</strong>
 
Set root password? [Y/n]  # 设置密码,y
 
New password:  # 新密码
Re-enter new password:  # 再次输入密码
Remove anonymous users? [Y/n]  # 移除匿名用户, y
Disallow root login remotely? [Y/n]  # 拒绝root远程登录,n,不管y/n,都会拒绝root远程登录
Remove test database and access to it? [Y/n]  # 删除test数据库,y:删除。n:不删除,数据库中会有一个test数据库,一般不需要
Reload privilege tables now? [Y/n]  # 重新加载权限表,y。或者重启服务也许

###登录数据库
[root@docker01 ~]# mysql -uroot -p123456
[root@docker01 ~]# mysql -uroot -pmysql -e "show databases;"#不登录数据库中查看
###常见操作
MariaDB [(none)]> show databases;  ##查看有哪些库
MariaDB [(none)]> use mysql;   #进入mysql这个库;
MariaDB [mysql]> show tables;  #显示mysql这个库中有哪些表
MariaDB [mysql]> describe user; #显示user这个表的表结构组成
MariaDB [mysql]> select host,user,password from user; #显示user表中的host,user,password字段
MariaDB [mysql]> select host,user,password from mysql.user; ##方式二, #显示mysql库中user表的host,user,password字段
刷新权限表:
MariaDB [mysql]> flush privileges;或者[root@docker01 ~]# systemctl restart mariadb
MariaDB [(none)]> show processlist; #查看连接到我们数据库的信息

MariaDB [mysql]> describe proc; ##显示proc表
MariaDB [mysql]> describe proc\G  ###显示proc表 和上述结果不一样
*************************** 1. row ***************************
  Field: db
   Type: char(64)
   Null: NO
    Key: PRI
Default: 
  Extra: 
*************************** 2. row ***************************
  Field: name
   Type: char(64)
   Null: NO
    Key: PRI
Default: 
  Extra: 


MariaDB [(none)]> create user mysql1@'192.168.23.%' identified by '123';  #创建个mysql1用户,允许在192.168.23网段的机器上可以登录,密码是123
MariaDB [(none)]> drop user mysql1@'192.168.23.%' ; # 删除用户
MariaDB [(none)]> show grants for mysql@'192.168.23.%'; #查看用户权限
MariaDB [(none)]> grant insert,create on mysql.* to mysql1@'192.168.23.%' identified by '123';  给用户添加权限

库操作:
MariaDB [(none)]> show databases;  ##查看有哪些库
MariaDB [(none)]> use mysql;   #进入mysql这个库;
MariaDB [(none)]> create database csren; #创建一个库
MariaDB [(none)]> help create database  #查看create database 这个命令怎么用
MariaDB [(none)]> show create database csren; #看下创建过程

##表操作
MariaDB [(none)]> use csren;  #切换库,要在哪个库下创建表,就切换到哪个库
MariaDB [csren]> create table t1(id int,name varchar(20)); #创建一个叫t1的表,定义两个列项和数据类型
MariaDB [csren]> show tables;  #查看csren这个库有哪些表
MariaDB [csren]> describe t1;  #查看t1表结构.或者desc t1 
MariaDB [csren]> drop table t1; #删除t1整个表
MariaDB [csren]> alter table t1 add age int;   #给现有的t1表再增加一列数据
MariaDB [csren]> alter table t1 add level int,add score int; #添加两列内容
MariaDB [csren]> alter table t1 add sex varchar(20) after id; #在id列后添加一列sex
MariaDB [csren]> alter table t1 add sid int first; #在第一列添加sid
MariaDB [csren]> alter table t1 drop level;  #删除level列
MariaDB [csren]> alter table t1 modify score varchar(20); #修改score的数据类型
MariaDB [csren]> alter table t1 change score score_1 varchar(20);  #修改t1表的score列名为score_1

###DML主要针对数据库表中的行进行操作:insert \delete \update
MariaDB [csren]> insert into t3 values(1,'M','ren',18,72); #因为数据结构是5个,所以插入数据的时候也要写五个
MariaDB [csren]> select * from t3;
MariaDB [csren]> insert into t3 values(2,'M','ren',18,72),(3,'W','LI',34,23); #插入多行
MariaDB [csren]> select * from t3;
MariaDB [csren]> insert into t3(id) values(4);  #只对某列数据进行插入
更新表中的某个值:
MariaDB [csren]> update t3 set name='cheng' where id=2; #将id=2那一行中的name设置成cheng
MariaDB [csren]> delete from t3 where id=4; #删除某一行

 --select条件查询配合where

MariaDB [csren]> select * from t3 where name='ren';  #从t3表中查询name=ren的一行数据
MariaDB [csren]> select * from t3 where id=2;   #查找ID=2的数据;条件为字符串的时候需要用引号引起来,mysql不区分大小写
MariaDB [csren]> select * from t3 where id=2 and name='cheng';  #与条件查询,两个条件都满足才能打印
MariaDB [csren]> select * from t3 where id=2 or name='ren';  #满足一个条件的都会打印,意思是满足条件id=2的打印出来,name=ren的也打印出来
MariaDB [csren]> select * from t3 where id between 1 and 3;  #查询ID从1-3的值
MariaDB [csren]> select * from t3 where name in ('ren','cheng');  #查询name字段是ren或者cheng
MariaDB [csren]> select * from t3 where name like 're%';  #查找name中是re*的字段的值

MariaDB [csren]> select * from t3 where name like '%e%'; 
MariaDB [csren]> select * from t3 where name like '%e%' order by id desc; #在t3表中,查找name中包含e的字段,且按id降序排列输出;asc升序排列
MariaDB [csren]> select * from t3 where name like '%e%' order by id desc limit 3; #limit 3代表只显示前3行

MongoDB

mongodb 的collection就是关系型数据库种的table;
在这里插入图片描述

> show dbs  ##查看非空数据库;如果存在为空的数据库,显示不出来;只有有数据才能显示出来
> use database_name  #创建数据库,如果该数据库不存在,则会创建一个新的数据库,如果该数据库已经存在,则将切换到该数据库
> db #查看当前选择的数据库
> db.website.insert({title:"编程帮",url:"www.biancheng.net"}) ##数据库创建数据
> use biancheng #先进入库,再删除
> db.dropDatabase() # 先进入要删除的库,再删除

########MongoDB 中的集合是一组文档的组合,类似于关系型数据库(例如 MySQL)中的数据表
>  db.createCollection("user") ##创建一个名为“user”的集合
>  show collections #show collections命令或者show tables命令来查看数据库中的集合
>  db.collection_name.drop() #例如db.mycol.drop() 删除mycol集合
>  
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值