第一章 基础知识
基本术语
数据库(Database) 存储已经组织好的数据的 容器(通
常是 一个文件或者文件集)
人们经常使用术语“数据库”来指代他们运行的数据库软件,这是错
误的。数据库软件称为数据库管理系统(DBMS),数据库是通过
DBMS创建和操作的容器。你不会直接访问数据库,而通常是使用
DBMS,让它来替你访问数据库。
GNU/Linux-MariaDB
第一章 基础知识
表(Table) 特定类型数据的结构化列表。
表是结构化的文件,用来存储特定类型的数据,表可能存储客户
清单 ,产品目录,或者其他信息列表。存储在表中的数据是一种类型
的 数据或一个列表,绝对不应该将顾客的列表信息和订单的列表信息
存储到同一个数据库表中,这样做会使随后的数据检索和访问变得困
难, 代替的解决方案是创建两个表,在每个表中存储其相应的列表
信息。数据库中每个表都有一个名字来标识它,并且在一个数据库中
表名是唯一的 。
GNU/Linux-MariaDB
第一章 基础知识
框架(Schema) 关于数据库和表布局以及属性信息。
列(Column) 表中的一个字段,表由一列或多列构成,列中存储
表的一部分信息。每一列存储一条特 定信息。例如在客户表 中
,一列存储客户编号,另一列 存储客户姓名,而地址,城 市,
州,邮政编 码存储在各自的列中。
数据库中每一列都有相应的数据类型,数据类型定义了该列可以
存储哪种类型的数据。例如,如果某列要存储数字,就应该使用numeric
数据类型。如果某列存储日期,文本,提示,金额等就需要用恰当的数
据类型来指定。
GNU/Linux-MariaDB
第一章 基础知识
行(Row) 表中的一条记录
表中的数据存储在行里,把表当做类似电子表格的网格,在网格
中垂直的列就是表的列 ,水平的行就是表的行。例如,客户表可能
在每一行存储一个客户,表中行的数量也就是表中记录的条数。
NULL 在SQL中NULL用来指代空值(no value),如果一列被定
义为允许为NULL,当插入或者更新行时,可以忽略该列的数据 。
GNU/Linux-MariaDB
第一章 基础知识
主键(Primary Key) 唯一标识表中每一行的列(或者多列的集合)
。 主键用来关联特定的行,若没有主键,在表中更新和删除特定的
行会很麻烦。尽管主键不是必需的,但 大多数数据库设计者确保每
一个表都有一个主键,以便将来的数据操作是可行的和便于管理的。
一个表的任何列都可以作为主键,只要它遵循以下条件
1.任意两行不具有同样的主键值
2.没一行必须有一个主键值(主键列不能包含NULL值)
GNU/Linux-MariaDB
第一章 基础知识
SQL 是Structured Query Language( 结构化查询语言)的缩写。
是为了与数据库之间进行通信而专门设计出来的语言,它 由
极少的单词组成,提供一个从数据库读写数据的简单而 有效
的方式。
SQL的优势
不是某个数据库供应商的专利语言,几乎所有的主流的DBMS
都支持SQL
容易学习
尽管看起来简单,但它实际上是一门强有力的语言,通过灵活
地使用其语言元素,可以完成复杂和高难度的数据库操作。
GNU/Linux-MariaDB
第一章 基础知识
什么是MariaDB
前面论述过在实际上是数据库软件(DBMS或者数据库管理系统
)完成了存储,获取,管理以及操作数据库的工作,MariaDB是一个
DBMS,即数据库软件,它是基于MySQL的。
客户端/服务器软件
DBMS有两个分支:
一类是基于共享文件系统的DBMS,另一类是基于客户端/服务器的
DBMS。前者适用于桌面应用,一般补用来进行较高端或者更苛刻的
应用。
数据库(如MariaDB,MySQL,Oracal)是基于客户端/服务器的
数据库 。
GNU/Linux-MariaDB
第一章 基础知识
客户端/服务器应用分为两个部分,服务器部分是负责数据访问和操
作的软件,该软件运行在称为数据库服务器的计算机上;客户端部
分是用来与用户交互的软件,负责与数据文件进行交互的只有服务
器软件,所有对数据的请求,数据的增,删,改都是通过服务器软
件执行,而这些请求和更改来自运行客户端软件的计算机。例如,
如果你需要按照字母顺序列出产品列表,客户端软件通过网络将请
求提交给服务器软件,然后服务器软件处理请求,根据需要对数据
进行过滤,丢弃,排序,然后将最终结果发回给客户端软件 。
GNU/Linux-MariaDB
第一章 基础知识
服务器软件是MariaDB DBMS,可以运行一个本地安装的软件副本
,或者连接到一个拥有访问权限的远程服务器的副本。
客户端可以是MariaDB提供的工具,MySQL工具,脚本语言(如
Perl),Web应用开发语言(如ASP,JSP,PHP),编程语言(如C,
C++,Java)等。
GNU/Linux-MariaDB
第一章 基础知识
MariaDB工具
1.mysql命令行
每个MariaDB安装时都会附带一个简单的命令行实用程序mysql,
在操作系统命令行提示符中输入“mysql”会显示一条欢迎信息和简单
的提示,如下所示
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.0.19-MariaDB mariadb.org binary distribution
Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
GNU/Linux-MariaDB
第一章 基础知识
2.MySQL Workbench
MySQL Workbench是一个用来简化管理MySQL服务器的图形交互
客户端,在MariaDB上也可以工作的很好
http://wb.mysql.com/可下载Linux,Mac OS X ,Windows版本
GNU/Linux-MariaDB
第一章 基础知识
安装MariaDB
#yum group install mariadb mariadb-client -y
启用MariaDB
#systemctl enable mariadb
查看MariaDB状态
#systemctl status mariadb
#netstat -lant | grep 3306
GNU/Linux-MariaDB
第一章 基础知识
初始化mariadb
#mysql_secure_installation
1)输入root(mariaDB)密码:(默认直接回车)
2)是否设置root密码?[Y/n]
3)移除匿名账户?[Y/n]
4)不允许root远程登陆?[Y/n]
5)移除测试数据库及访问?[Y/n]
6)重新加载特权表?[Y/n]
GNU/Linux-MariaDB
第一章 基础知识
确认root是否可以登陆
#mysel -uroot
ERROR 1045 (28000): Access denied for user
'root'@'localhost' (using password: NO)
验证test数据库是否被移除
mysql -uroot -p123456
验证root从远程无法登陆至本地
#mysql -uroot -p123456 -h mariadb_server
GNU/Linux-MariaDB
第一章 基础知识
显示本地数据库
#mysql -uroot -p123456
>show databases;
创建数据库
>create database crashcourse;
>show databases;
使用指定数据库
>use crashcourse;
运行脚本
>\. /downloads/create.sql
>\. /downloads/populate.sql
脚本下载地址http://forta.com/books/0321799941/
create.sql包含创建表的MariaDB SQL语句
populate.sql包含了用来填充这些表的SQL INSERT语句
GNU/Linux-MariaDB
第一章 基础知识
查看数据库的表
>show tables;
查看指定表中的信息
>describe customers;
显示广泛的服务器状态信息
>show status
显示创建指定数据库(表)的MariaDB语句
>show create database(table)
显示授予用户的安全权限
>show grants
显示服务器错误或警告信息
>show errors(warnings)
show语句列表
>help show
笔者留言 ,想一起研究的可以加我QQ619147075
- (转)完全用GNU/Linux工作 by 王珢
完全用GNU/Linux工作 王珢 (看完这篇博文,非常喜欢王珢的这篇博客,也我坚定了学gnu/linux的决心,并努力去按照国外的计算机思维模式去学习编程提高自己.看完这篇文章令我热血沸腾 ...
- Gnu/Linux的学习探索
1.Gnu/Linux是一个基于POSIX和UNIX的多用户多任务 支持多线程多CPU的类UNIX的操作系统. 继承了UNIX以网络为核心的设计思想 是性能稳定的多用户网络操作系统. 1991年10月 ...
- GNU/Linux复习笔记(1)
第一次接触GNU/Linux还是大四上学期实习的那两个月在window里装了 个虚拟机玩红帽的系统,那段时间稍微学了一点命令就不玩了.后来大四下学期认识了王总,装了双系统,那段时间又对linux有了进 ...
- 下一代GNU/Linux显示服务Wayland 1.12正式发布
导读 最近,Bryce Harrington很高兴地宣布了“面向GNU/Linux操作系统的Wayland 1.12.0显示服务已正式发布”的消息.与它一同到来的,还有Weston 1.12.0合成器 ...
- ZFS(一):ZFS在Debian GNU/Linux上的安装
以下内容翻译自https://pthree.org/2012/04/17/install-zfs-on-debian-gnulinux/,并附有原文,由于是第一次翻译,如有任何翻译不恰当之处,欢迎指出 ...
- debian7 请把标有“Debian GNU/Linux 7.1.0 _Wheezy_ - Official amd64 DVD Binary-1 20130615-23:06”的盘片插入驱动器“/media/cdrom/”再按回车键
有时候,在通过apt-get install 安装软件的时候,会出现: 更换介质:请把标有“Debian GNU/Linux 7.1.0 _Wheezy_ - Official amd64 DVD B ...
- 完全用 GNU/Linux 工作(转)
转自:http://www.chinaunix.net/old_jh/4/16102.html 看到一半,实在太长,但已觉得很好,转来分享一下. 完全用 GNU/Linux 工作 - 摈弃 Windo ...
- 世纪大争论:Linux还是GNU/Linux?
我们在网上已经习惯用“Linux”来称呼Linux操作系统了,然而,偶尔也用“GNU/Linux”来称呼和指代同样的操作系统和软件.同时人们也在争论这两种称呼哪个更合适. 本文将不会选边站队,仅力图向 ...
- GNU/Linux Distribution Timeline v12.10
GNU/Linux Distribution Timeline v12.10 原图下载 GNULinux Distribution Timeline 12.10.png GNU/Linux Distr ...
- Gnu Linux下文件的字符编码及转换工具
/********************************************************************* * Author : Samson * Date ...
随机推荐
- ReactiveSwift源码解析(十二) MutableProperty基本代码实现
前两篇博客我们分别聊了ReactiveSwift框架中的负责标记对象的生命周期的类Lifetime以及负责原子性操作的Atomic类的具体代码实现.前两篇博客之所以聊Lifetime以及Atomic的 ...
- sphinx随笔记了一下
sphinx笔记 一:下载中文版coreseek包1:解压后,将etc下的mysql.conf文件复制一份放到上级目录下,改名为sphinx.conf2:配置文件: 2.1:source配置数据源so ...
- Linux常见命令(五)——rmdir
前 言 JRedu 今天我们来介绍第五个命令:rmdir . 命令英文原意:remove empty directories 命令用途: rmdir:删除空目录,非空的目录不能删除 本章内容将详 ...
- 一个页面多个iframe赋值
先在页面上设置一个元素: <input type="hidden" id="content" value={$content}> 使用前端技术获取父 ...
- 新手之VM下安装centos版本Linux系统完整版!
一.安装必备软件 1:下载好VM workstations虚拟机 2:下载好你要安装的centos版本. 如果没有,请自己先百度下载好~或者找我要. 二.开始安装 VM workstation部分 1 ...
- angular验证表单
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>a ...
- Tomcat闪退的问题
问题:双击tomcat bin下的startup.bat,tomcat的窗口一闪而过,未成功启动: 原因是:在启动tomcat是,需要读取环境变量和配置信息,缺少了这些信息就会导致了tomcat的闪退 ...
- if处理多分支结构
实例1 import java.util.Scanner; /** * Created by liwenj on 2017/7/17. */ public class test7 { public s ...
- 获取ip地址及城市信息
大家好,今天给大家分享的是一个简单的知识获取登录用户的ip地址及城市信息,lz是一个小白,如果有哪些错误的地方 欢迎大家指出 东西很简单,直接上代码 [HttpPost] public string ...
- SVG图案
前面的话 给SVG元素应用填充和描边,除了使用纯色和渐变外,还可以使用图案.本文将详细介绍SVG图案 概述 <pattern>可以实现重复的效果,在canvas中被翻译为模式,而在SVG中 ...