linux 数据库学习

Linux里学习使用MariaDB数据库管理系统

本文根据《linux就该这么学》一书学习整理。

数据库管理系统是一种能够对数据库中存放的数据进行建立、修改、删除、查找、维护等操作的软件程序。MariaDB数据库和MySQL是一家的,区别为MariaDB是开源的。

初始化mariaDB服务

命令mysql_secure_installation
➢直接按回车键
➢ 设置 root 管理员在数据库中的专有密码。输入密码
➢ 随后删除匿名账户,并使用 root 管理员从远程登录数据库,以确保数据库上运行的业
务的安全性。Remove anonymous users?y .disallow root login remotely?y(禁止root管理员从远程登录)
➢ 删除默认的测试数据库,取消测试数据库的一系列访问权限。y
➢ 刷新授权列表,让初始化的设定立即生效。Y

登录数据库:mysql –u root –p。-u 参数用来指定以root管理员的身份登录,而-p参数用来验证用户在数据库中的密码值。
数据库命令默认大写。执行数据库命令时,都需要在命令后面用分号(;)结尾。
查看数据库管理系统中当前都有哪些数据库:SHOW databases; 。
修改root管理员在数据库管理系统中的密码值:SET password = PASSWORD(‘linuxprobe’); .

创建数据库与表单

创建一个数据库:CREATE DATABSES chloe; (数据库名称)
切换到这个数据库:use chloe;
创建表单mybook: CREATE TABLE mybook(name char(15),price int,page int); 。这个表单有三个字段项,name图书名称(字符型字段,长度为15个字段),price价格(整型),page页数(整型)。
查看表单结构:DESCRIBE mybook;

管理表单及数据

使用 INSERT 命令向 mybook 数据表单中插一条图书信息,其中书名为 linuxprobe,价格和页数分别是 60 元和 518 页。
INSERT INTO mybook(name,price,page) VALUES(‘Linuxprobe’,‘60’,‘518’);
输入这个命令后出现ERROR 1136(21S01): Column count doesn’t match value count at row 1.
上网查原因是插入时的数据个数与表中的字段个数不一致,试着将mybook后面括号里的内容删除,INSERT INTO mybook VALUES(‘Linuxprobe’,‘60’,‘518) ;,可以输入没有报错。
使用 select 命令和通配符(*)查看表单中的所有内容:**SELECT *FROM mybook;**可以看到数据已经写入。
修改数据,将刚才插入的 linuxprobe 图书信息的价格修改为 55 元:UPDATE mybook SET price=55;注意,若有多项数据,这条命令会将所有书籍的价格改为55.如果想要更改某一项也可以使用WHERE条件,UPDATE mybook SET price=20 WHERE name=‘linuxprobe’;.
删除数据表单mybook中的所有内容:DELETE FROM mybook.
条件查询:查询价格大于某个数值的图书,需要结合使用 select 与 where 命令。其中,where 命令是在数据库中进行匹配查询的条件命令。!=不相等,>=大于或等于,BETWEEN在某个范围内,LIKE 搜索一个例子,IN在列中搜索多个值。查找价格大于75元的图书:SELECT * FROM mybook WHERE price>75;
实际工作中也许会用到数据库管理工具,如navicat,可以图形化管理更改数据。

数据库的备份及恢复

mysqldump 命令用于备份数据库数据,格式为“mysqldump [参数] [数据库名称]”。其中参数与 mysql 命令大致相同,-u 参数用于定义登录数据库的账户名称,-p 参数代表密码提示符。
将 linuxprobe 数据库中的内容导出成一个文件,并保存到 root 管理员的家目录中:mysqldump -u root -p linuxprobe > /root/linuxprobeDB.dump。
在删除数据库后可以使用输入重定向符把刚刚备份的数据库文件导回。mysql -u root -p linuxprobe < /root/linuxprobeDB.dump。

你可能感兴趣的:(linux 数据库学习)