一、MYSQL
        1、配置MySql
                第一步安装服务器(apache)。
                第二部安装MySql界面程序
        2、MySql数据库的数据类型简单介绍常用的几种
                整形:int
                小数:float、double、decimal
                字符串:varchar、char(他俩的区别是创建的长度与具体长度的问题)
                bool类型:bit
                日期时间:datetime
        3、创建表及约束
                创建表语句:
                        create table InFo(
                                 Pwd varchar(50),

                                Name varchar(50),
                                Nation varchar(50),
                                foreign key(Nation) references Nation(Code) 
                        );
               建表及写sql语句是注意的事项:
                        ·创建表时最后一列不要加逗号
                        ·每个表创建完之后加分号
                        ·搜友sql语句中的符号必须是英文状态下的
                        ·如果多条语句一起执行,注意在语句之间加分号
                        ·创建表要先分类,再根据关系具体分类,添加主外键及约束条件
                约束:
                        创建表中的列时需要确定列名、列的类型、长度、是否为空,是否有默认值、是否为外键、主键、是否自增长(自增长必须是主键,主键可以不自增长)等:                       
        4、数据库的CRUD操作
                ·添加数据:
                    insert into Info values('',''......);
                    可以添加表中色所有列的信息,也可以添加指定列的信息
                    insert into Info(code) values('p001');
                    自增长列的内容可以空,但必须留位置
                ·删除数据:
                    delete from Info;        删除所有数据
                    delete from Info where code = 'n001'; 根据条件删除指定数据
                ·修改数据:
                    update Info set code='',...where code = '';
                    根据where条件修改一行数据中的一个或多个列
                ·查询数据:                  
                    (1)简单查询
                    select * from Info
                    select Code as '代号',Name as '姓名' from Info
 
                    (2)条件查询
                    select * from Car where Code='c002'
                    select * from Car where Brand='b001' and Powers=130  或者用or
 
                    (3)模糊查询
                    select * from Car where Name like '%奥迪%'  %代表任意多个字符  _代表一个字符
 
                    (4)排序查询
                    select * from Car order by Brand,Powers desc
 
                    (5)范围查询
                    select * from Car where Price>=40 and Price<=60
                    select * from Car where Price between 40 and 50
 
                    (6)离散查询
                    select * from Car where Code in ('c001','c003','c005','c007')
                    select * from Car where Code not in('c001','c003','c005','c007')
 
                    (7)聚合函数,统计查询
                    select sum(Price) from Car #查询所有价格之和 sum()求和
                    select count(Code) from Car #查询数据条数
                    select max(Code) from Car #求最大值
                    select min(Brand) from Car #求最小值
                    select avg(Price) from Car #求平均值
 
                    (8)分页查询
                    #每页显示5条数据,取第2页的数据
                    select * from Car limit (n-1)*5,5
 
                    (9)去重查询
                    select distinct Brand from Car
 
                    (10)分组查询
                    select count(*),Brand from Car group by Brand
                    select Brand from Car group by Brand having count(*)>3 #分组之后根据条件查询使用having 不使用where
 
                    (11)连接查询
                         select * from Info,Nation #形成笛卡尔积
                         select Info.Code,Info.Name,Info.Sex,Nation.Name,Info.Birthday from Info,Nation where Info.Nation = Nation.Code                        
 
                        select * from Info join Nation 
                        select * from Info join Nation on Info.Nation = Nation.Code
                    (12)联合查询                        
                         select Code,Name from Info
                        union
                        select Code,Name from Nation
 
                    (13)子查询                        
                        (1)无关子查询
 
                                外层查询 (里层查询)
                                子查询的结果当做父查询的条件
 
                                子查询:select Code from Nation where Name='汉族'
                                父查询:select * from Info where Nation = ''
 
                                select * from Info where Nation = (select Code from Nation where Name='汉族')
 
 
                        (2)相关子查询
                                查询汽车表中油耗低于该系列平均油耗的所有汽车信息
 
                                父查询:select * from Car where Oil<(该系列平均油耗)
                                子查询:select avg(Oil) from Car where Brand = '某个系列'
 
                                select * from Car a where Oil<(select avg(Oil) from Car b where b.Brand = a.Brand )
        5、数据库常用函数     
                  ·数学函数
                        RAND()    返回0->1的随机数  
                        SELECT RAND() --0.93099315644334
 
                        RAND(x) 返回0->1的随机数,x值相同时返回的随机数相同  
                        SELECT RAND(2) --1.5865798029924
 
                  ·字符串函数
                        CHAR_LENGTH(s)    返回字符串s的字符数
                        SELECT CHAR_LENGTH('你好123') -- 5
 
                        CONCAT(s1,s2,...)   将字符串s1,s2等多个字符串合并为一个字符串
                        SELECT CONCAT('12','34') -- 1234
 
                  ·日期时间函数
                        NOW()  返回当前日期和时间
                        SELECT NOW()  ->2014-12-17 15:59:02
 
二、PHP基础
        1、基础语法
                ·注释://单行注释        /*多行注释*/
                ·输出语句:echo、print、print_r,var_dump
                    echo是语句只负责输出
                    print、print_r是函数,有返回值
                    print只能打印简单类型变量的值,如int,string类型
                    print_r可以打印复杂类型的值,如数组,对象
                    var_dump可以打印详细信息。
                ·数据类型及变量
                    PHP是弱类型语言,变量没有明确的类型
                    定义变量:
                        $a = 10;
                        $b = 'hello';        //单引号不能解析里面的内容,容易报错
                        $c = "wo{$a}rd";   //双引号可以解析
                        $d = >>AA            //完整输出内容,不需要解析
                                "hello","word"
                        AA;                       

isset($a); //判断变量是否定义

unset($a); //清除变量

empty($a); //判断变量是否为空

                ·运算符
                    关系运算符:其中数字与字符串相加,字符串为零计算,字符串与字符串相加为零
                                            整数除整数可以为小数,因为PHP为弱类型语言
                    比较运算符:
                    逻辑运算符:
                    错误抑制符:@
                ·语句
                    分支:
                    循环:
                ·函数
                    函数四要素,返回类型,函数名,参数列表,函数体
                    PHP中不需要返回类型,使用function关键字
                            普通函数:funtion Show($a){}
                            有默认值函数:function Show($a = "MySql"){}
                            可变参数函数:funtion Show(){},参数列表可以为任意个参数,
                                                    使用方法func_get_args();返回列表以数组的形式
                                                    使用方法fun_num_args();获得传入参数的个数
                两个常用函数:
                        生成随机数:rand();生成随机数
                                            rand(1,10);参数只能不填或填两个,两个代表最大最小值
                        日期时间函数:                                    
                                        time();    //取当前时间的UNIX时间戳
                                        //设置时区
                                            ate.timezone = Europe/Paris改为Etc/GMT-8    //每个需要的页面都设置,治标不治本
                                            date_default_timezone_set('PRC')    //在PHP的配置文件中改
        2、字符串操作                

字符串长度:strlen(string $a);

判断是否相同,相同返回0,不同返回1,区分大小写:strcmp(str $a,str $b);

判断是否相同,相同返回0,不同返回1,不区分大小写:strcasecmp(str $a,str $b);

字符串转小写:strtolower(str $a);

字符串转大写:strtoupper(str $a);

拆分字符串,返回数组:explode("拆分符",str $a);

将数组元素拼接成字符串:implode("拼接符",str $a);

截取替换:substr_replace(str $a,"替换的字符/字符串",开始位置,截取替换的长度)

查找替换:str_repiace("字符串中需要替换的内容","替换的内容",str $a);

去空格:trim(str $a);

echo substr($a,0,strlen($a)-1); //截取字符串

var_dump(str_split($a,2));//根据长度拆分字符串

echo strstr($a,"|");//返回某个字符串出现的位置到末尾的全部字符

$a.trim();//JS没有,但是Jquery有

        3、数组 
                定义数组:
                    PHP中数组分索引数组,关联数字
                    定义索引数组:1、$st = array(1,2,3);    2、$st[] =1; $st[] = 2;      
                    定义关联数组:$st = array("one" => "hello",100);  用 => 符号,只要有一个对应关系就是关联数组,剩下的自动添加索引(根据上一条添加索引),索引的值数字与数字字符串可以互转
                数组取值:
                        通过下标或key取值
                遍历数组  
                        1、for循环遍历数组,只适用于索引数组,数组长度用count()
                                for($i = 0;$i<count($sttr);$i++){
                                   echo $sttr[$i]."<br/>";
                                }
                        2、foreach遍历,都适用
                                foreach($sttr as $v){
                                    echo $v."<br/>";
                                }
                                 foreach($sttr as $k=>$v){
                                    echo $k."--".$v."<br/>";
                                    echo "{$k}--{$v}<br>";
                                }    
                        3、使用each(),list()结合来遍历数组
                                3.1  each()返回数组里面的当前元素的详细内容
                                        each($sttr);    关联数组
                                            array(size=4)
                                               1 =>int1
                                               'value' =>int1
                                                 0 =>int0
                                           'key' =>int0
                                里面有索引号所以可以使用list()方法
                                3.2    list()将右侧数组里面的每个元素分别赋值给list()的参数列表,右侧数组必须包含索引
                                        list($a,$b,$c) = $sttr
                                3.3 each()和list()结合
                                        while(list($k,$v) = each($sttr)){                
                                                echo $k."--".$v."<br/>";
                                                echo "{$k}--{$v}<br>";
                                        }
                    4、使用指针遍历
                                $attr = array(
                                    "one"=>"aaaa",
                                    "two"=>"bbbb",
                                    "three"=>"cccc",
                                    10,
                                    10
                                );
                            current($sttr);    //取得当前元素的value值
                            key($sttr);    //取得当前元素的key值
        
                            next($sttr);    //将数组里面的指针指向下一个(向下移)
                            prev($sttr);    //将数组里面的指针指向上一个(向上移)
 
                            end($sttr);    //将指针指向最后一位
                            reset($sttr);    //将指针复位(指向第一个元素)
                数组常用函数                       
                         count($sttr);    //获得数组元素的个数
                        in_array("aaaa",$sttr);    //判断元素是否在数组里面,返回boolear类型
                        array_reverse($sttr);    //反转数组,返回数组
                        array_unique($sttr);    //对数组的元素去重,返回数组
                        unset($attr["two"]);    //删除数组里面的某个元素,不返回
                        array_values($attr);    //重新建立索引,返回数组
                        array_merge($attr);    //合并数组,返回数组
                        array_push($attr,10);    //函数追加数组元素
                        $attr[]     = 10;    //赋值追加数组元素
        4、正则表达式                 

·用符号来描述书写规则,定界符:/  中间写正则表达式  /

^ :匹配开头,        /^ve/以ve开头的,可以不加

$ :匹配结尾           /ve$/以ve结尾,可以不加

\d:一个任意的数字

\w:一个任意的数字或字母

\s:一个任意的字符串

{n}:把左边的表达式重复n遍

{m,n}:把左边的表达式重复至少m遍,至多n遍
                    {m, }:把左边的表达式重复至少m遍,,至多不限

+:左边的表达式,至少出现一次,至多不限,相当于{1,}

*:左边的表达式,至少出现0次,至多不限,相当于{0,}

?:左边的表达式,至少出现0次,至多出现1次,相当于{0,1}

[a,b,c]:只能取方括号中内容之一

[a-z]或[1-9]:在范围中取其一

|:代表或者;

():优先级;

\:转义--“\( \)”这个才是要出现的小括号,需要转义

三、面向对象基础
        程序设计有两种,面向过程,面向对象,
        面向过程就是分析出解决问题所需的步骤,然后用函数把这些步骤一步一步实现,然后一次调用
        面向对象就是把解决问题所有的步骤分解成各种对象,通过建立对象来描述某个事物在整个解决问题的步骤中的行为
        面向对象中两个基本概念:类的对象
        类是对象的抽象化,对象是类的实例化。
        定义类:    
                使用class关键字,类名的首字母大写
                类中有类成员包括:成员变量,成员方法,静态成员变量,静态成员方法
                        成员变量:1、访问修饰符
                                         2、全局成员变量和局部成员变量
                                         3、静态成员变量
                        成员方法:    访问修饰符
                                        1、普通成员方法
                                        2、静态成员方法
                                        3、特殊成员方法,构造方法construct,析构方法,__toString( __toString()是在直接打印对象时执行的方法,我们可以用该方法打印类的一些相关信息)、clone(直接克隆方法,活在类里面写方法,¥this代表复本对象)等
            静态关键字:static,可以在任何地方直接用类名调用,在本类中也可以用self关键字
                    普通成员是属于对象,静态成员是属于类的
                    普通方法里面可以调用静态成员,静态方法中不可以调用普通成员
            this关键字,代表对象,可以通过this关键字在成员方法中调用成员变量
            new关键字,通过new关键字创建对象,也就是实例化类
            "->"调用符号,对象可以通过该符号调用类的成员变量,和成员方法
            return关键字,在方法中使用,提供返回值服务
            引用类、加载类 
                    类文件的命名:类名.class.php                 
                    include("/wamp/www/0607/Ren.class.php");
                    include "Ren.class.php";
 
                    require("Ren.class.php");
                    require "Ren.class.php";
 
                    require_once("Ren.class.php");
                    require_once "Ren.class.php";
                    自动加载的方法
                        注意类的命名,注意路径不然找不到,也就无法加载引用
                        function __autoload($classname){

                                require $classname.".class.php";
                        }
四、面向对象三大特性:封装、继承、多态
        1、封装        
                目的:事类更加安全
                做法:不让外界直接访问类成员
                        1、成员变量私有化:private关键字
                        2、为私有成员变量提供公有方法
                                一是每个变量提供两个方法,Set变量名:赋值方法,Get变量名:取值方法(每个变量两个方法很麻烦)
                                二是PHP特有的方法双下划线:__set(),__get()方法
                        3、在赋值方法中加条件,达到控制安全的目的
 
        2、继承
                目的,提高代码的复用性,一个子类可以继承父类的一切,一个子类只能有一个父类,一个父类可以有多个子类
                做法:通过extends关键字继承
                方法的重写:子类继承父类的方法,如果想扩展就需要重写父类的方法(方法重写必须方法名一样),如果想在父类方法的基础上加就可以用    parent::    关键字调用
        3、多态
                在PHP中多态表现不明显:
                多态的条件:1、必须集成。2、必须方法重写。3、父类的引用指向子类的实例
                多态的概念:当父类的引用指向子类的实例,由于子类对父类的方法进行了重写,所以当父类引用调用相应的方法时表现的不同

MYSQL、PHP基础、面向对象基础简单复习总结的更多相关文章

  1. 第二十五节:Java语言基础-面向对象基础

    面向对象 面向过程的代表主要是C语言,面向对象是相对面向过程而言,Java是面向对象的编程语言,面向过程是通过函数体现,面向过程主要是功能行为. 而对于面向对象而言,将功能封装到对象,所以面向对象是基 ...

  2. sql+PHP基础+面向对象基础简单总结

    一.MYSQL         1.配置MySql                 第一步安装服务器(apache).                 第二部安装MySql界面程序         2 ...

  3. JAVA(一)JAVA基础/面向对象基础/高级面向对象

    成鹏致远 | lcw.cnblog.com |2014-01-23 JAVA基础 1.开发环境搭建 JAVA程序的执行流程 JAVA命令->要使用一个*.class文件(类文件)->通过c ...

  4. python基础--面向对象基础(类与对象、对象之间的交互和组合、面向对象的命名空间、面向对象的三大特性等)

    python基础--面向对象 (1)面向过程VS面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. ...

  5. python语法基础-面向对象-基础-长期维护

    ###############    类的基本操作    ############## """ 类的基本认识: 1,类就是一个模子 2,dict,list都是类,具体的一 ...

  6. python 面向对象基础和高级复习

    面向对象基础 面向对象编程 面向过程编程:类似于工厂的流水线 优点:逻辑清晰 缺点:扩展性差 面向对象编程:核心是对象二字,对象属性和方法的集合体,面向对象编程就是一堆对象交互 优点:扩展性强 缺点: ...

  7. 了解JavaScript 面向对象基础 & 原型与对象

    面向对象语言中的对象 老是能听到什么基于对象, 面向对象. 什么是对象, 如果有面向对象基础的人可以无视了, 下面举个简单的例子给大家讲讲面向对象中, 对象的定义, 这个是比较通用的, 不过对于JS来 ...

  8. [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式

    [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式 说起C#运算符和表达式,小伙伴们肯定以为很简单,其实要用好表达式,不是一件容易的事.一个好的表达式可以让你做事半功倍的效果,比如 ...

  9. [.net 面向对象编程基础] (7) 基础中的基础——流程控制语句

    [.net 面向对象编程基础] (7) 基础中的基础——流程控制语句 本来没有这一节的内容,后来考虑到既然是一个系列文章,那么就尽可能写的详细一些,本节参考了网上朋友所写的例子,为的是让更多小伙伴学习 ...

随机推荐

  1. 【代码笔记】iOS-一个tableView,两个section

    一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController ...

  2. Entity Framework之IQueryable和list本地集合

    我们来说一下Iqueryable集合和List等本地集合的区别,下面我们通过建立一个简单的例子来学习这个知识点,直接进入主题吧 1.首先对比一下两段代码?看一下有什么结果: (1) 第一段代码如图所示 ...

  3. iOS系列 基础篇 01 构建HelloWorld,剖析并真机测试

    iOS基础 01 构建HelloWorld,剖析并真机测试 前言: 从控制台输出HelloWorld是我们学习各种语言的第一步,也是我们人生中非常重要的一步. 多年之后,我希望我们仍能怀有学习上进的心 ...

  4. Python:版本升级

    Linux 上安装的python版本是2.6.6,不能满足我运行软件的要求,所以对python进行升级.现在要了解MySQL Fabric,需要使用Python 2.7,所以只能对现有版本进行升级了. ...

  5. 用批处理脚本一键安装 MongoDB

    下载MongoDB安装文件,解压到D:\MongoDB: 运行脚本: @echo off set mongobin=D:\MongoDB ::在mongodb文件夹下建立data,log文件夹 md ...

  6. $(window).height(),在火狐下面获取的高度并不是可视区域的高度

    很简单,我发现是没有写<!DOCTYPE html>造成的,加上去就可以了

  7. [python]爬虫学习(三)糗事百科

    import requestsimport osfrom bs4 import BeautifulSoupimport timepage=2url='http://www.qiushibaike.co ...

  8. SCNU 2015ACM新生赛决赛【F. Oyk闯机关】解题报告

            题目大意:一个$N$$\times$$N$的阵列,每个格子有$X_{ij}$个调和之音,若每次只能选择走右边或下边,从左上角出发走到右下角,问最多能收集到多少个调和之音?       ...

  9. LK产品如何提高通信速率

    之前做LK,由于采用自定义协议,485通信.为了避免通信撞车,采用主控轮询.从机应答的通信方式. 当设备规模扩大,需要轮询的子设备和参数变多时,轮询周期就会加长,人机交互时,系统反应缓慢. 分析主控轮 ...

  10. [LeetCode] Find All Anagrams in a String 找出字符串中所有的变位词

    Given a string s and a non-empty string p, find all the start indices of p's anagrams in s. Strings ...