Unit01: 服务器概述 、 数据库服务器 、 WEB服务器

服务器概念

       服务器(SERVER)其实就是一台PC机(硬件)

       服务器的分类

              硬件服务器 - PC机

                     电脑硬件 - PC机/小型机/刀片机/中型机/大型机/超级计算机

                     小型机 - IBM(AIX)/HP/联想(Linux)

              软件服务器 - 中间件

                     为了运行Web应用的一种软件

软件架构

        B/S - 浏览器(browser)/服务器端(server)

              互联网-企业级

                       互联网 - 网易、腾讯、百度等

                       企业级 - 银行系统、医院系统等

              好处

                       软件升级 - 服务器端的升级

        C/S - 客户端(client)/服务器端(server)

              先出现,例如QQ、Email等

              原因 - 网络带宽/电脑硬件普遍偏低

              问题

                       软件升级 - 客户端\服务器端都要升级

 

软件服务器

       Web(应用)服务器 - 用于运行Web应用

       数据库服务器 - 用于运行数据库产品

访问Web应用

       http://www.baidu.com

       网络协议-IP地址-端口号

【XAMPP软件】

【Apache】 - 软件服务器(运行PHP)

       1.启动失败

              原因 - 端口号被占用

              错误信息 - Error: Apache shutdown unexpectedly.

              解决

                config选项-<Browse>[Apache]-conf目录-httpd.conf文件

                修改 - Listen 8888(端口号)

              如何访问

              http://localhost:端口号

              http://127.0.0.1:端口号

        2.设置虚拟地址

              目录 - C:\Windows\System32\drivers\etc

              打开hosts文件 -- 127.0.0.1 www.yun.com

        3.关于80端口号

              在开始菜单输入"cmd"运行命令行窗口

              在命令行窗口输入命令

               netstat -ano

              找到占用80端口号对应PID值

              在任务管理器中的"进程",找到对应的进程,结束

        4.在本地搭建Web应用程序

              目录 - XAMPP软件的安装路径-htdocs

              将该目录的所有文件删除

              创建index.html页面文件

              重新在浏览器中访问虚拟地址,页面内容

 

【MySQL】 - 数据库服务器(运行MySQL)

       MySQL默认使用的端口号 - 3306 ;不建议修改该端口号

        1.命令行方式登录(打开)数据库

              登录数据库 : mysql -u用户名root -p密码

              退出数据库 : exit;

       2.同时启动Apache和MySQL服务

              点击mysql 的 admin 访问地址 - http://localhost:8081/phpmyadmin

8081Apache的端口号;

              phpMyAdmin服务是Apache提供的(连接数据库)

 

       数据库 - 数据仓库,用于存储或操作数据内容

              两大阵营

              - 关系型数据库(SQL) - 是目前主流数据库,是以表(行和列)的形式存储数据;

              - 非关系型数据库(NoSQL) - 是新潮流数据库,是以文档方式存储数据,是以key:value形式存储数据

              ...

 

              NoSQL

              是一种运动(抗议关系型数据库)

              逐步发展之后,出现很多这种产品

              主流的产品

              mongoDB - JSON格式

              ...

 

              关系型数据库

              Oracle - 甲骨文(Oracle)公司的产品; 企业级开发98%市场份额都是使用这款产品

                     Oracle认证

                            初级 - 月薪10K - 15K

                            中级 - 月薪15K - 20K

                            高级 -

              MySQL - 甲骨文(Oracle)公司的产品; 互联网开发98%市场份额都是使用这款产品

              SQL Server :是微软公司推出的;只提供Windows操作系统版本

              Access(Office套件的组件) :是微软公司推出轻量级数据库;DB2

             

              MySQL产品

                     是瑞典MySQL AB公司开发的

                     后期被SUN公司收购(SUN公司最主要产品-Java)

                     SUN公司被Oracle公司收购

                     特点

                       免费

                       开源

                     目前两种版本

                       社区版本 - 免费

                       商业版本 - 收费

               LAMP组合 - 目前开发互联网网站

                L - Linux

                A - Apache

                M - MySQL

                P - PHP

 

       SQL语言 - 无论数据库产品,使用SQL语言

              DDL - 数据定义语言(数据库+表)

              DCL - 数据控制语言(权限)

              DQL - 数据查询语言

              DML - 数据操作语言

       注意

              SQL语言并不区分大小写(官方建议大写)

              SQL语句编写完毕后,一定增加";"结束符 - 命令行中

              SQL语言使用字符串时,建议使用单引号'

 

 

      

一.DDL(了解) - CREATE|ALTER|DROP

        1.数据库操作

 

              创建数据库

                用法 - CREATE DATABASE 数据库名称 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

              查看数据库

                用法 - SHOW DATABASES;

              修改数据库

                用法 - ALTER DATABASE 数据库名称 CHARACTER SET utf8;

              删除数据库

                用法 - DROP DATABASE 数据库名称;

              使用(切换)数据库

                用法 - USE 数据库名称;

              注意

                数据库一旦被创建,很少修改或删除

                创建、查看和切换数据库

 

 

       2. 数据表操作

 

              数据类型

                数值(Number)数据类型

                  INT - 整型

                  FLOAT/DOUBLE - 浮点型(小数)

                  DECIMAL - 精确值(金额等)

                日期(Date)数据类型

                  DATE - 日期(默认格式:yyyy-MM-dd)

                  DATETIME - 日期时间(yyyy-MM-dd hh:mm:ss)

                  TIMESTAMP - 时间戳(标识:唯一)

                字符串(String)数据类型

                  CHAR - 长度固定的字符串

                    定义一个字符串的长度为10,实际存储的内容为"abc",未被字符占用的位置会以空格补位

                  VARCHAR - 长度可变的字符串

                    定义一个字符串的长度为10,实际存储的内容为"abcde"

              创建数据表

               CREATE TABLE 表名(

                 字段名称1  数据类型,

                 字段名称2  数据类型,

                 ...

               );

                约束

                  主键约束 - PRIMARY KEY

                    作用 - 唯一,不可重复

                  主键自增约束 - AUTO_INCREMENT

                    作为主键的字段,自增

               案例:创建用户表(id,name,pwd,age,email,addr)

               CREATE TABLE myuser (

                 //标识(唯一,不可重复)

                 id  INT PRIMARY KEY AUTO_INCREMENT,

                 name  VARCHAR(30),

                 pwd   VARCHAR(30),

                 age   INT,

                 email VARCHAR(30),

                 addr  VARCHAR(30)

               );

               练习:创建订单表myorder(orderid,ordername,price,addr,ordertime)

                orderid - 订单表的标识(唯一)

                ordername - 订单表的名称

                price - 金额

                addr - 收货地址

                ordertime - 订单日期

              删除数据表

                用法 - DROP TABLE 表名;

              查看表结构

                用法 - DESC 表名;

 

 

 

        二.DML(增删改) - INSERT|UPDATE|DELETE

             1.插入(新增)数据

              用法一

               INSERT INTO 表名 VALUES(字段值1,字段值2,...);

                注意

                  当前表具有多少字段,VALUES输入多少字段值

                  如果哪个字段是主键自增的话,使用NULL补位

              用法二

               INSERT INTO 表名(字段名1,字段名2,...) VALUES(字段值1,字段值2,...)

                注意

                  表名后定义多少字段,VALUES后输入多少字段

                  当前数据表的字段是允许为空的

              练习 - myorder表

               1. 插入orderid,ordername,price,addr,ordertime

                  INSERT INTO myorder VALUES(NULL,'linghuchong',3.5,'huashan','2015-11-17 15:44:40')

               2. 插入ordername,addr,ordertime字段值

                  INSERT INTO myorder(ordername,addr,ordertime) VALUES('renyingying',10,'heimuya')

 

             2.更新(修改)数据

              用法一 - UPDATE 表名 SET 字段名=字段值;

                注意 - 修改所有数据(指定字段值)

              用法二

               UPDATE 表名 SET 字段名=字段值 WHERE 字段名=字段值;

                SET后面的"字段名=字段值",为设置的值

                WHERE后面的"字段名=字段值",为查询的值

              用法三

               UPDATE 表名 SET 字段名1=字段值1,字段名2=字段值2 WHERE 字段名=字段值;

              练习:修改myorder表

                修改addr字段值为"光明顶"

                 UPDATE myorder SET addr='光明顶';

                修改id为2记录的price修改为100

                 UPDATE myorder SET price=100 WHERE orderid=2;

                修改addr为"光明顶"记录的ordertime为"2020-11-11 00:00:00"

                 UPDATE myorder SET ordertime='2020-11-11 00:00:00' WHERE addr='光明顶'

 

             3.删除数据

              用法一 - DELETE FROM 表名;

                注意 - 删除指定表中所有数据

              用法二 - DELETE FROM 表名 WHERE 字段名=字段值;

              问题 - 实际操作

                实际的开发中基本不使用DELETE语句

                  以防我们的用户反悔

              SQL操作(删除)

                物理删除 - 执行DELETE语句

                逻辑删除

                  简单来说,对于用户来讲是删除的,对于实际来讲并没有删除

                  为指定表,增加一个字段(state|status),表示当前这条记录是什么状态

                    值为1的话,表示这条记录是正常的

                    值为0的话,表示这条记录是删除的

 

 

 

       三.DQL(查)

             基本查询 - 新版本一样

              用法一 - SELECT  FROM 表名;

              用法二 - SELECT 字段名1,字段名2,... FROM 表名;

             条件基本查询

              用法 - SELECT * FROM 表名 WHERE 字段名=字段值;

             复杂条件查询

              AND - 表示多个条件同时满足

              OR - 表示其中一个条件满足

              IN(SET) - 表示一个字段包含多个值

                SET - 多个值,之间使用","

              = - 表示字段值为指定值

              BTWEEN AND - 等于 >= AND <=

              IS NULL - 匹配NULL值

           

             排序查询 - ORDER BY 字段名

              ASC - 正序排序,默认值

              DESC - 倒序排序

 

              SELECT * FROM 表名 WHERE 条件 ORDER BY 字段名;

           

            练习 - myorder

              1. 查询addr为"光明顶"的所有记录

                SELECT * FROM myorder WHERE addr='光明顶';

              2. 查询id为1或ordername为"renyingying"的所有记录

                SELECT * FROM myorder WHERE id=1 OR ordername='renyingying';

              3. 查询id为1,2,3的所有记录

                SELECT * FROM myorder WHERE id in(1,2,3);

         

 

  

   * 命令行方式登录MySQL

      输入mysql命令,提示"mysql"不是内部命令

      原因 - 系统环境变量中没有配置MySQL的变量

      解决

        进入到MySQL的安装目录中

        进入到bin目录中,找到mysql.exe文件

        执行mysql.exe文件

 

        在命令行中输入命令

          cd mysql的安装目录/bin

         mysql命令

    数据库操作原则 - 只增不删

    数据库的空

      '' - 空字符串

      NULL - 值不存在

 

 

    Tomcat - 软件服务器(运行Java)

【图解】

 

 

posted @ 2017-02-16 16:27  xiangcy  阅读(586)  评论(0)    收藏  举报