日志 - Error: Apache shutdown unexpectedly.
原因 - Apache服务使用端口号被占用()
解决:1.打开命令行,输入命令netstat -ano (查看当前使用的端口号)
2.查看80端口号被占用的PID是多少
3.在状态栏鼠标右键,选择"任务管理器",打开"任务管理器",切换到"进程",点击工具栏"查看"中的"选择列",将PID的选项勾选,点击确定,如果PID也是为4,说明Windows操作系统占用80,要修改Apache的端口号【默认端口号为80(默认不写)】
1. 打开Xampp Controle Panel界面,选择"Apache"的"config"按钮,选择"[Browse]Apache",打开Apache的安装目录,在该目录中,打开conf目录,在该目录中,打开httpd.conf文件
2.修改 listen 80 为 listen 8888(端口号随意写,最多为4位),进行保存
3. 重新启动Apache服务
打开浏览器,在地址栏中输入以下内容:
http://127.0.0.1:8888
http://localhost:8888
1. 打开Xampp Controle Panel界面,选择"Apache"的"config"按钮
2. 选择"[Browse]Apache",打开Apache的安装目录,向上返回一级,Xampp软件的安装目录,打开htdocs目录,将该目录的内容删除,新建名为"index.html"的HTML页面
3. 重新访问Apache的服务,主页信息
打开网络和共享中心----本地连接-----详细信息-----IPv4地址(即为主机名,别人可以以此来共享你的项目:http://主机地址)
找到C:/Windows/System32/drivers/etc目录,打开hosts文件,添加 127.0.0.1 www.songmin.com ,在浏览器地址栏输入配置的域名进行访问。
MySQL - 默认使用端口号3306,不要修改MySQL的默认端口号
(1) 图形化界面:
要求:Apache和MySQL同时启动服务
访问地址: http://localhost/phpmyadmin ,若之前改变apache默认端口号为8888,则访问 http://localhost:8888/phpmyadmin
ps:使用Apache的服务,php提供的一种服务,访问MySQL数据库
(2)命令行方式
(1)关系型数据库 - 以表格(行和列)为主
Oracle - Oracle(甲骨文):主要应用于企业级开发市场
MySQL - Oracle(甲骨文):主要应用于互联网开发市场
(2) 非关系型数据库
主流产品 : mangoDB - 以JSON格式为主
网站架构 - LAMP(Linux+Apache+MySQL+PHP)
企业级架构 - Linux(AIX)+JavaEE+Oracle+Weblogic
DDL - Data Define Language(数据定义语言)
DCL - Data Controle Language(数据控制语言)
DML - Data Manipulate Language(数据操作语言)
DQL - Data Query Language(数据查询语言)
ps: SQL官方建议 - 所有关键字全部大写,每句SQL语句结束时,增加结束符";"
登录和退出MySQL数据库(命令行方式) : 登录命令 mysql -u用户名 -p
退出命令 exit
(1) DDL - 数据定义语言 - CREATE|ALTER|DROP
1. 数据库 - 数据仓库
创建数据库:CREATE DATABASE 数据库名称;
设置编码: CREATE DATABASE 数据库名称 CHARACTER SET utf8;
增加判断 - 判断当前创建的数据库是否存在: CREATE DATABASE IF NOT EXISTS 数据库名称 CHARACTER SET utf8;
查看数据库: SHOW DATABASES;
切换数据库: USE 数据库名称;
修改数据库(编码规则): ALTER DATABASE 数据库名称 CHARATER SET utf8;
删除数据库:DROP DATABASE 数据库名称; DROP DATABASE IF EXISTS 数据库名称;
2. 数据表 - 具有行(记录)和列(字段)的表格
数据类型:数值(Number)数据类型
INT - 整型(整数)
FLOAT/DOUBLE - 浮点型(小数)
DECIMAL - 精确值(金额) - 整数
日期时间数据类型
DATE - YYYY-MM-DD标准日期格式
DATETIME - YYYY-MM-DD HH:MM:SS
TIMESTAMP - 时间戳(标识:唯一不可重复)
字符串数据类型
CHAR - 长度固定的字符串
VARCHAR - 长度可变的字符串
创建数据表: CREATE TABLE(
字段名称1 数据类型,
字段名称2 数据类型,
...
);
案例: CREATE TABLE jd_user(
user_id INT,
user_name VARCHAR(30),
user_gender VARCHAR(30),
user_email VARCHAR(30)
);
CREATE TABLE IF NOT EXISTS jd_order(
order_id INT PRIMARY KEY AUTO_INCREMENT,
order_number VARCHAR(30),
order_price DECIMAL,
order_time DATETIME
);
约束:主键约束 - PRIMARY KEY
主键自增 - AUTO_INCREMENT
删除数据表: DROP TABLE IF EXISTS 数据表名;
修改数据表:ALTER TABLE 数据表名 条件;
查看数据表: DESC 数据表名;
(2) DML - 数据操作语言 - INSERT|UPDATE|DELETE
1. 新增
INSERT INTO 数据表名 VALUES(字段值1,字段值2,...);
VALUES()中的内容为该表的所有字段值
INSERT INTO 数据表名(字段名1,字段名2,...) VALUES(字段值1,字段值2,...)
VALUES()中的内容与表名()的内容一一对应
案例:
INSERT INTO jd_user VALUES(0,'张无忌','男','[email protected]');
INSERT INTO jd_order VALUES(NULL,'1234567890',6288.09,'2015-12-03 15:31:15');
INSERT INTO jd_order VALUES(NULL,'2346546234',4288,2015-12-03 15:31:15);
2. 修改(更新)
UPDATE 数据表名 SET 字段名=字段值; ps - 默认修改所有记录的当前字段
UPDATE 数据表名 SET 字段名=字段值 WHERE 字段名=字段值;
UPDATE 数据表名 SET 字段名1=字段值1,...,字段名n=字段值n WHERE 条件;
案例:
UPDATE jd_user SET user_name='金毛狮王';
UPDATE jd_user SET user_name='张无忌' WHERE user_id=0;
3. 删除
DELETE FROM 数据表名; (ps:默认删除当前表中所有数据)
DELETE FROM 数据表名 WHERE 条件;(ps: 删除符合条件的所有数据内容)
案例
删除jd_user表中user_id为2这条记录: DELETE FROM jd_user WHERE user_id=2;
ps: 一旦执行DELETE语句的话,将数据内容删除(无法恢复)
物理删除 :真正执行DELETE语句
逻辑删除 : 从逻辑上讲删除,并没有真正删除, 并不执行DELETE语句
解决方案: 为数据表增加一个字段(state),该字段专门用于表示当前这条记录的状态。 删除 - 0 - false; 正常 - 1 - true
(3) DQL - 数据查询语言 - QUERY
SELECT * FROM 数据表名; (默认查询表中所有记录(字段))
SELECT 字段名1,字段名2,... FROM 数据表名; ( 自定义结果中的字段名称)
SELECT 字段名1,字段名2,... FROM 数据表名 WHERE 条件;
案例:
select * from jd_user;
select user_name,user_gender,user_email from jd_user;
select user_id,user_name,user_gender,user_email from jd_user;
select * from jd_user where user_id=0;