1.项目过程:概要设计阶段 —— 架构师
任务:技术选型(网络/语言/框架)、项目结构(子系统/模块)、数据结构(数据特点/内容)
项目中存储数据的方式:
(1)服务器内存:存取速度快;非永久存储、容量有限
(2)外存/文件系统:永久存储、格式随意(txt/xls/...)、容量大;存取速度慢
(3)云存储:托管给云服务提供商
(4)数据库服务器:可以永久存储/也可以非永久存储、存储速度快(存储优化)、容量大
KB/MB/GB/TB/PB/EB/ZB/YB/BB..... |
2.扩展知识:什么是服务器(Server)
硬件服务器:一台能给其他计算机提供特定数据的计算机
软件服务器:运行起来监听客户端请求,并提供响应内容的程序
个人操作系统:
Windows / Mac
企业应用操作系统:
Linux(RedHat/CentOS/Ubuntu)
Unix(Solaris/AIX/FreeBSD....)
data:数据 date:日期 |
quit:退出 quite:很,非常 |
exit:出口/退出 exist:存在 |
3.数据库服务器
Database:用于存储项目中的批量业务数据,如银行中储户信息、论坛中帖子信息、商城中的商品/用户/订单...实现高效的数据访问。
历史上出现过的数据库的种类:
(1)网状数据库
(2)层次型/树型数据库
(3)关系型数据库(1980s~至今的主流)
SQLite、MySQL、PostgreSQL、SQLServer、Oracle、DB2
(4)非关系型数据库(NoSQL,最新的)
4.最常用的关系型数据库——MySQL介绍
Oracle版本: www.mysql.com
Martin版本: www.mariadb.org
开源最流行的工具栈(LAMP): Linux + Apache + MySQL + PHP |
安装MySQL:可以从上述两个官网下载并安装,或者直接下载安装一个服务器套装XAMPP = Apache + MySQL + PHP
(xampp.org)
MySQL系统部署结构:
(1)服务器端:负责存储和维护数据(人无法直接读取)——工行总行
(2)客户端:负责向服务器发起增删改查命令——工行遍布全国的ATM机
如何使用MySQL客户端程序连接MySQL服务器:
mysql.exe -h127.0.0.1 -uroot -p 不加分号!
可简写为
mysql -uroot 不加分号!
如何退出与MySQL服务器的连接:
quit
午间练习:故意将上述两个命令写错,看看错误提示是什么(自己翻译出英文错误消息)?
MySQL服务器中数据的逻辑结构: Server => Database => Table => Row => Column |
5.MySQL服务器常用命令
SQL:Structured Query Language,结构化语言,可用于操作关系型数据库服务器中数据的语言——可用于增删改查数据。1980年由IBM提出,由Oracle产品化,后来提交给ISO成为行业标准语言,当前所有的关系型数据库产品都支持该语言。
注意:(1)SQL命令必须都以英文分号结尾!(2)SQL命令不区分大小写!(3)SQL语句中可以使用单行注释#...或者多行注释/*...*/
常用的SQL语句:
(1)show databases ; 显示当前已有的所有数据库
(2)quit ; 退出连接
(3)use 库名 ; 进入指定的数据库
(4)show tables ; 显示当前库中所有的表名
(5)desc 表名 ; 描述一下指定表的结构(有哪些列)
-----------------------------------------------------------------
(6)drop database if exists 库名; 丢弃指定数据库(如果它存在的话)
(7)create database 库名 ; 创建一个新的数据库
(8)create table 表名(列, 列) ; 创建一个新的表
(9)insert into 表名 values(值, 值); 向表中插入一行数据
(10)
(11)
(12)select * from 表名; 查询指定表中所有的数据
练习:连接到MySQL服务器,查看当前有哪些数据库,退出连接
练习:查询MySQL服务器默认自带的五个库中各有多少个表
练习:查询出MySQL服务器默认自带的phpmyadmin库中下面三个表中各有哪些列:
pma__favorite、pma__history、pma__relation
练习:创建一个新的脚本文件4.sql,丢弃数据库dangdang,创建数据库dangdang,执行该文件。
小知识:提交SQL语句给服务器执行的两种方式: (1)交互式执行:输入一行命令,回车提交执行一行....适合于临时性查看数据 mysql -uroot (2)脚本式执行:把要执行的多条命令编写在一个文本文件中,一次性的全部提交给服务器执行,需要的话以后可以反复执行;适合于批量的增删改数据 mysql -uroot < c:/xxx/2.sql |