第二十章 数据库操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二十章 数据库操作相关的知识,希望对你有一定的参考价值。

一、数据库介绍
数据库:
sql server : 微软
oracle :甲骨文 收费 闭源
mysql :甲骨文 免费
SUN公司 小型机unix java mysql marrydb
其中MariaDB是MySQL的分支,也是它的进阶产品,未来很有可能替代MySQL。
Fackbook 阿里 : 去IOE产品(IBM ORACLE EMC2(存储柜))拿自己的钱给别人交学费,不必过度依赖传统的IOE架构
阿里:定制系统 服务器 数据库 定制

二、MYRIADB介绍
mysql:
简单易用、免费、查询速度快、安全可靠
独立的服务器,跟linux本身没有关联(包括命令、管理、远程管理等)
数据库结构: 数据库、表、字段、值
(表格、列/字段、1条记录/1行)

MariaDB有许多的新选项、扩展,存储引擎和bug修复,而MySQL是没有的
安装myriadb服务器:(在光盘上有rpm包)
yum install mariadb-server mariadb
============================
数据库配置文件:
设置客户端:
vim /etc/my.cnf.d/mysql-clients.cnf

[mysql]
default-character-set=utf8

设置服务端:

vim /etc/my.cnf.d/server.cnf

[mysqld]
init_connect=‘SET collation_connection = utf8_general_ci‘
init_connect=‘SET NAMES utf8‘
character-set-server=utf8
collation-server=utf8_general_ci
skip-character-set-client-handshake

开启慢查询
slow_query_log = ON
slow_query_log_file = /usr/local/mysql/data/slow.log
long_query_time = 1


开启mariadb:

Systemctl start mariadb

查看服务状态:
Systemctl status mariadb
netstat -antpl | grep 3306

=============================
mysql安装后,默认没有密码
mysql命令直接进入管理

为mysql账户设置密码:
mysqladmin -u 用户名 -p password 密码
再回车即可,若有原密码,输入原密码回车实现改密码
mysqladmin -uroot -p password 123123
以后进入mysql,通过
mysql -uroot -p123123

进入mysql数据库配置模式:
mysql -u 用户名
mysql -u root //root是mysql自己的管理员账户,默认没有密码

进入mysql数据库配置模式(有密码情况):
mysql -u 用户名 -p密码

mysql -u 用户名 -p
输入密码再回车

如:mysql -u root -p123456
mysql -u root -p

退出mysql配置模式:
quit;

忘记root密码:
vim /etc/my.cnf.d/server.cnf
在[mysqld]下方添加一行信息:skip-grant-tables
保存退出
Systemctl restart mariadb
mysql -u root
update mysql.user set password=PASSWORD(‘新密码‘) where user=‘root‘;
quit;
vim /etc/my.cnf.d/server.cnf
注释掉skip-grant-tables
保存退出
Systemctl restart mariadb
生效!

=================================

查看/列出所有数据库:
show databases;

进入数据库:
use 数据库名;

查看/列出所有表
show tables;

查看表的内容:
select 字段名 from student;
select * from 表名;
select user,password from 表名

查看/列出表的所有字段:
desc 表名;

建立新数据库:
create database 数据库名;

创建表: 主键
create table 库名.表名 (字段名 类型,字段名 类型,字段名 类型, primary key(字段名));

注释:
int 整数类型 xxxxxxxxxx 10位 4字节
bit 比特类型 0/1
float 单精度浮点类型
char(n) 字符串 固定长度
varchar(n) 字符串 可变长度
text 字符串 可变长度
date xxxx-xx-xx
time hh:mm:ss

添加一条记录/值:
insert into 库名.表名 [(字段名,字段名.....)] values (值,值.....);
------------------------------------------
更改表的字段及类型:(更改表的结构)
help alter; //查看alter命令的帮助信息

修改表的字段:
alter table 库名.表名 add 字段名 类型 [first/after 字段名];
alter table 库名.表名 drop 字段名;
alter table 库名.表名 modify 字段名 类型;

alter table chengji add banji varchar (2);

修改一条记录/值:
update 库名.表名 set 字段=值 [where 条件];
update cj set sex=NULL where 条件;
update cj set shuxue=60,yuwen=60 where name=‘lsy‘;
条件语法格式:字段=值
注意:当值为数字时不需要加单引号,如是字符串必须加单引号。

==============================
删除记录:
delete from 库名.表名 where 条件;

删除表:
drop table 库名.表名;

删除数据库:
drop database 数据库名;

如何备份数据库,以及绕过数据库用户验证登录
mysqldump -u root -p 库名 表名 > 路径文件

进入mysql后
进入数据库
source chengji.dmp;
可以恢复数据

如何授权远程用户登录数据库管理表格
grant all privileges on . to [email protected]‘172.18.11.%‘ identified by ‘123123‘;

status;
查看数据库状态


查询记录:

select 字段名列表 from 表名;
select 字段名列表 from 表名 [where 条件表达式];

select * from t1 where age > 10;

注释:
字段名列表的表示方式:

  • 所有字段
    字段名1
    字段名1,字段名2, 字段名N

条件的表示方式:
结构: 字段 运算符 值

===============================================

Mysql作业
MYSQL更改root密码和添加一个用户的用户密码(忘记密码的情况下)
MYSQL建立学籍表与成绩表,进行关联查询,从两个表取出:姓名,分数,班级,成绩。
MYSQL数据备份,模拟库删除后的数据恢复。
*

以上是关于第二十章 数据库操作的主要内容,如果未能解决你的问题,请参考以下文章

第二十章 springboot + consul

第十章--聚类分析 第5组 小组作业

网络操作系统 第十章 DNS服务器管理与配置

第二十章:更新和删除数据

Oracle12c从入门到精通(第二版) PDF 下载

第十章 事务更新