SERVER&HTTP-day1-个人学习笔记
一、服务器概念:其实就是一台PC机(硬件)
1、服务器的分类
a、硬件服务器-PC机(电脑硬件,如pc机、小型机IBM、刀片机、大型机、超级计算机)
b、软件服务器-中间件(为了运行Web应用的一种软件)
2、软件架构
a、B/S-浏览器(browser)/服务器端(server)
b、C/S-客户器(client)/服务器端(server)
3、软件服务器
a、Web(应用)服务器-用于运行Web应用
b、数据库服务器-用于运行数据库产品
4、访问Web应用
http://www.baidu.com(网络协议-IP地址-端口号)
二、XAMPP
1、Apache-软件服务器(运行PHP)
(1)启动失败
a、原因:端口号被占用(默认端口号80)
b、错误信息:Error:Apache shutdown unexpectedly
c、解决:
config选项-<Browse>[Apache]-conf目录-httpd.conf文件,修改Listen 88(端口号)。
win+r打开运行输入cmd ---> 命令行输入netstat -ano即可找到对应端口的PID值 ---> 打开任务管理器进程项--->找到对应PID值的进程结束
(2)如何访问
http://localhost:端口号
http://127.0.0.1:端口号
(3)设置虚拟地址
C:\Windows\System32\drivers\etc打开hosts文件,再最下方添加127.0.0.1和域名
(4)在本地搭建Web应用程序
XAMPP安装目录下的htdocs,将包含index.html的所有页面文件放置在此目录,在浏览器访问虚拟地址
2、MySQL-数据库服务器(运行MySQL)
(1)MySQL默认使用的端口号-3306
(2)命令行方式打开数据库,进入(mysql -u用户名 -p密码),退出(exit)
(3)同时启动Apache和MySQL服务,访问地址http://localhost:88/phpmyadmin(88是Apache的端口号,phpMyAdmin服务是Apache提供的)
3、Tomcat-软件服务器(运行Java)
三、数据库
1、基本概念
(1)数据库-数据仓库,用于存储或操作数据内容
(2)关系型数据库(SQL)-目前主流数据库,是以表(行和列)的形式存储数据
a、Oracle-甲骨文(Oracle)公司的产品(企业级开发98%市场份额都是使用这款产品)
b、MySQL-甲骨文(Oracle)公司的产品(互联网开发98%市场份额都是使用这款产品)
c、SQL Server-微软公司推出
d、Access-微软公司推出轻量级数据库
(3)非关系型数据库(NoSQL)-是新潮流数据库,是以文档方式存储数据或以key:value形式存储数据
(4)LAMP组合-目前开发互联网网站
L-Linux;A-Apache;M-MySQL;P-PHP
2、SQL语言-数据库产品,使用SQL语言
(1)DDL-数据定义语言
(2)DCL-数据控制语言
(3)DQL-数据查询语言
(4)DML-数据操作语言
3、DDL-CREATE|ALTER|DROP
(1)数据库操作
a、创建数据库-CREATE DATABASE 数据库名称 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci(window下命令行不支持UTF-8,图形化界面可使用);或CREATE DATABASE 数据库名称。
b、查看数据库-SHOW DATABASES;
c、删除数据库-DROP DATABASE 数据库名称;
d、修改数据库-ALTER DATABASE 数据库名称 CHARACTER SET utf8;
e、使用(切换)数据库-USE 数据库名称;
(2)数据表操作
a、数据类型
数值数据类型(INT整数、FLOAT/DOUBLE浮点型、DECIMAL精确值)
日期数据类型(DATE日期yyyy-MM-dd、DATETIME日期时间yyyy-MM-dd hh:mm:ss、TIMESTAMP时间戳)
字符串数据类型(CHAR长度固定、VARCHAR长度可变的字符串)
b、创建数据表-CREATE TABLE 表名(字段名称1 数据类型,字段名称2 数据类型,id INT PRIMARY KEY AUTO_INCREMENT....);
c、删除数据表-DROP TABLE 表名;
d、查看表结构-DESC 表名
4、DML(增删改)-INSERT|UPDATE|DELETE
a、插入(新增)数据
INSERT INTO 表名 VALUES(字段值1,字段值2,...);
INSERT INTO 表名(字段名1,字段值2,...) VALUES(字段值1,字段值2,...);
b、更新(修改)数据
UPDATE 表名 SET 字段名=字段值;(修改所有指定字段值数据)
UPDATE 表名 SET 字段名=字段值 WHERE 字段名=字段值;
UPDATE 表名 SET 字段名1=字段值1,字段名2=字段值2 WHERE 字段名=字段值;
c、删除数据
DELETE FROM 表名;
DELETE FROM 表名 WHERE 字段名=字段值;
实际开发中基本不使用DELETE语句;物理删除-执行DELETE语句;逻辑删除-增加字段state|status,表示状态。
5、DQL(查)
(1)基本查询-新版本两种查询方式效率一样
a、SELECT * FROM 表名;
b、SELECT 字段名1,字段名2,... FROM 表名;
(2)条件查询
SELECT * FROM 表名 WHERE 字段名=字段值;
(3)复杂条件查询
AND-表示多个条件同时满足
OR-表示其中一个条件满足
IN(SET)-表示一个字段包含多个值,多个值之间使用","
=-表示字段值为指定值
BTWEEN AND-等于>= AND <=
IS NULL-匹配NULL值
(4)排序查询-ORDER BY 字段名
ORDER BY 字段名 ASC-正序排序,默认值
ORDER BY 字段名 DESC-倒序排序
SELECT * FROM 表名 WHERE 条件 ORDER BY 字段名;
6、注意:
SQL语言并不区分大小写,官方建议大写
SQL语句编写完毕后,一定增加";"结束符
SQL语言使用字符串时,建议使用单引号''