第一章 基础知识
基本术语
数据库(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 ...
随机推荐
- tomcat 组件研究二--请求过程
上一篇博客大概总结了tomcat 的组件以及其组织方式,对于tomcat 的启动过程也进行进行了简单的总结,下面这篇博客,继续研究tomcat 处理请求的相关组件,其实就是主要研究Connectors ...
- HTML,CSS,JS之间的关系
HTML,CSS,JS之间的关系 本笔记是自己在浏览了各位前辈后拼凑总结下来的知识,供自己使用消化.后面会附上各种链接地址,尊重原创 最准确的网页设计思路是把网页分成三个层次,即:结构层(HTML). ...
- SQL笔记 --- 数据库设计步骤(转)
SQL笔记 --- 数据库设计步骤 目录 总体设计过程需求分析概念结构设计逻辑结构设计数据库物理设计数据库实施数据库运行和维护 总体设计过程 0 » 下一篇:vim 命令集 posted @ 2012 ...
- /etc/profile /etc/bashrc ~/.bash_profile ~/.bashrc ~/.bash_logout 说明及区别
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置. /etc/bashrc:为每一 ...
- 新鲜出炉的JSON,拿走不谢!
一.JSON简介 1.JSON全称是JavaScript Object Notation即JavaScript对象标记法. JSON是一种轻量级(Light-Weight).基于文本的(Text-Ba ...
- BotVS开发基础—2.2 下限价单 交易
代码 import json def main(): Log("ORDER_STATE_PENDING:", ORDER_STATE_PENDING, ", ORDER_ ...
- poj 2763 Housewife Wind (树链剖分)
题目链接:http://poj.org/problem?id=2763 题意: 给定一棵含n个结点的树和树的边权,共有q次操作,分为两种 0 c :求从位置s到c的距离,然后s变成c 1 a b:把第 ...
- 移动端踩坑之旅-ios下fixed、软键盘相关问题总结
最近一个项目掉进了移动端的大坑,包括ios下fixed布局,h5唤起键盘等问题,作为一个B端程序员,弱项就是浏览器的兼容性和移动端的适配(毕竟我们可以要求使用chrome),还好这次让我学习了一下相关 ...
- Java Spring的简单见解
Spring的注解特性,IOC控制反转 首先了解依赖注入是什么,就是在实例化对象的时候并不需要每次都new对象出来,spring管理对象,在你配置been或者@service时候 Spring会自动帮 ...
- vim代码粘贴缩进混乱的问题[Linux]
详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp76 直接在vim插入模式下粘贴: 直接粘贴,剪贴板上的每个字符都相当 ...