zoukankan      html  css  js  c++  java
  • 20141229 mysql基本操作一

    捕获333

    捕获3333

    回顾

    文件操作:包含文件夹和文件

    文件夹操作:获取路径资源opendir,读取资源数据readdir,释放资源closedir,重置指针rewinddir

    取出所有文件:scandir

    递归:函数内部自己调用自己(为了解决与父问题相同的子问题)

    递归点:什么时候调用函数自己,遍历出来的文件是一个文件夹

    递归出口:什么时候终止函数调用,如果子文件是文件/如果整个文件夹遍历结束都没有子文件夹

    文件操作:PHP5和PHP5以前(fopen:代开;fgetc/fgets/fread:读;fwrite/fputs:写入;fclose:关闭)

    文件操作函数,文件下载

    1. 遍历文件夹及其子目录:所有的内容都读入到数组

    2. 站点统计:输出用户访问次数,第几位访客,最近的访问时间

    作业见代码:homework1_dir_iterate.php/homework2_tongji.php

    数据库

    知识体系

    数据分为三个阶段

    第一阶段:SQL基础,mysql的基础知识,视图,函数,触发器,存储过程,5+1+1

    5天基础+1天PHP+mysql编程+1PDO(面向对象)

    第二阶段:mysql优化,索引+分页

    第三阶段:mysql部署,服务器集群,读写分离,负载均衡

    数据库基本知识

    1. 什么是数据库?

    广义:凡是能够存储和处理数据的媒介(介质)都是数据库

    狭义:高效的存储和处理数据的媒介

    2. 数据库分类

    关系型数据库:建立在关系模型上的数据库。

    关系模型:二维表,关系模型是通过关系数据结构,关系的操作指令和关系约束三部分组成。

    关系型数据库:维护实体内部的联系以及实体和实体之间的联系的数据库(实体:自然界中存在的各种数据对象)

    非关系型数据库:所有不是关系型数据库的数据库都是非关系型数据库

    关系型数据库与非关系型数据库的区别

    1. 运行的介质部一样:关系型数据库数据保存在磁盘,非关系型数据运行在内存

    2. 效率区别:非关系型数据库效率高

    3. 安全区别:关系型数据库安全

    3. 数据库产品

    关系型数据库:mysql,Oracle,DB2,SqlServer,access等

    非关系型数据库:memcache,mongodb,redis等

    4. 数据库名词

    数据:data,携带有用信息的字符

    数据库:database,存放数据的“仓库”

    数据库管理系统:DBMS(database Management System),管理数据库的系统

    数据库系统:DBS(database system) = DBMS + DB

    数据库管理员:DBA(Database Administrator),专门维护数据库系统

    关系型数据库

    维护数据的内部联系和数据与数据之间的关系。

    关系型数据库都是通过二维表来进行数据的维护的。

    学员管理系统:学生,班级

    学生:学号,姓名,性别,年龄

    学号

    姓名

    性别

    年龄

    Itcast0001

    华萃文

    23

    Itcast0002

    陈丽玲

     

    Itcast0003

    潘市远

    20

    维护的数据内部的关系

    关系型数据库:即便数据不存在,也要分配空间和位置来用于数据存放。比较浪费磁盘空间。

    班级:班级号,教室

    班级编号

    教室

    PHP141115

    A814

    PHP140815

    A806

    维护的数据内部的关系

    班级与学生关系

    学号

    姓名

    性别

    年龄

    班级编号

    Itcast0001

    华萃文

    23

    PHP141115

    Itcast0002

    陈丽玲

     

    PHP141115

    Itcast0003

    潘市远

    20

    PHP140815

    维护实体与实体之间的关系

    典型的关系型数据库概念

    行和记录

    行:row,行是从表的结构角度出发

    记录:record,记录是从数据的角度出发

    列和字段

    列:column,结构角度

    字段:field,数据角度

    SQL:Structured Query Language,结构化的查询语言,是据库的编程语言

    DDL:Data Define Language,数据定义语言,专门用于定义数据的存储的结构,create

    DML:Data Manipulation Language,数据操作语言,对数据进行增删改查,

    DQL:Data Query Language,数据查询语言

    DCL:Data Control Language,数据控制语言,控制用户的权限,revoke等

    mysql数据库

    mysql数据库是一款c/s结构的软件。意味着访问服务器必须通过客户端来实现。

    假设:客户端与服务端不在同一台电脑上。(绝大部分的情况如此)

    操作数据库的步骤:

    1. 保证客户端和服务端都已经运行,开始服务了。

    wps228D.tmp

    2. 运行客户端:连接服务器。连接认证。

    a) –h:host,主机地址,ip或者域名:-hlocalhost,可以省略

    b) –P:port,服务器的服务监听端口:-P3306,可以省略

    c) –u:username,登录服务器的用户名:-uroot

    d) –p:password,登录服务器的密码:-p

    利用mysql.exe,需要借助cmd环境才能运行

    wps22BD.tmp

    3. 准备SQL语句

    4. 发送SQL语句给服务器

    5. 服务器:接收SQL语句

    6. 服务器:执行SQL语句

    7. 服务器:将执行结果返回给客户端

    8. 客户端:解析结果

    9. 客户端:显示结果

    wps22CE.tmp

    10. 退出服务器:断开连接

    exit/quit/q

    wps22CF.tmp

    mysql服务器对象

    整个服务器就是一个DBS:数据库系统

    系统是由DBMS进行管理,管理DB,DB管理Table,表管理field

    wps22DF.tmp

    SQL基本操作

    SQL基本操作分为三类:库操作,表操作(字段操作),数据操作

    SQL基本操作:CRUD

    C:Create,新增

    R:Read/Retrive,读取

    U:Update,更新

    D:delete/Drop,删除

    库操作

    新增库

    create database 数据库名字 [库选项];

    库选项:设置字符集和校对集

    charset/character set:字符集,utf8/gbk/gb2312,表示当前数据库内的数据按照指定的字符集进行存储

    collate:校对集,比较字符的大小的规范,校对集依赖字符集

    wps22E0.tmp

    当以上语句执行的时候,系统发生了如下改变

    1. 系统内部创建一个叫做my_data1数据库名字的数据库,字符集是utf8

    2. 系统在服务器存储数据的位置创建一个叫做my_data1的文件夹

    my.ini中查看数据存储目录

    wps22E1.tmp

    文件创建

    wps22F2.tmp

    3. 文件夹内部有一个opt文件:记住了当前数据库的库选项

    wps22F3.tmp

    数据库命名规范

    1. 采用字母下划线和数字构成,通常建议使用英文单词配合下划线

    2. 数据库名字不能够直接使用关键字

    wps22F4.tmp

    3. 不能直接使用中文作为数据库名字。如果要使用关键字或者中文,对名字使用反引号

    反引号:键盘左上角1键左边的键在英文状态的输出

    wps2305.tmp

    中文需要先设定字符集

    wps2306.tmp

    中文数据库在操作系统下使用十六进制命名,并不是中文

    wps2316.tmp

    注意:不建议使用中文作为数据库名字,关键字也不建议,保留字也一样

    查看库

    语法1:查看所有

    show databases;

    wps2317.tmp

    语法2:查看部分相关数据库,使用匹配模式:%和_

    show databases like ‘pattern’;

    %:代表匹配任意长度的任意字符

    _:匹配一个长度的字符

    wps2318.tmp

    语法3:查看数据库的创建语句:不是指 的用户创建的时候自定义的SQL语句,而是系统执行的时候,内部整理后的SQL语句

    show create database 数据库名字;

    wps2329.tmp

    修改库

    修改数据库不能够修改数据库名字

    修改数据库只能修改库选项

    语法:修改结构的语法都是alter

    alter database 数据库名字 要修改的库选项; -- 一般用于修改字符集

    wps232A.tmp

    虽然只修改了字符集,但是校对集也被修改

    wps233A.tmp

    删除库

    删除指定的数据库,只能一个一个的删除,删除数据库会连带的将数据库内部的所有数据表都删除。(慎用)

    语法:所有的结构删除都使用drop

    drop database 数据库名字;

    wps233B.tmp

    执行删除语句之后,发生了什么?

    1. 数据库不存在了

    2. 数据库对应的文件夹也被删除了

    wps234C.tmp

    表操作

    对数据表的增删改查,以及表中的字段的操作。

    数据表不能脱离字段,字段不能独立存在。

    SQL是一种强类型语言,所有的字段都必须指定数据类型

    增加表

    语法

    create table 表名(

    字段名1 字段类型, -- 字段与字段之间使用逗号分隔

    字段名N 字段类型 – 最后一个字段不需要逗号

    ) [表选项];

    表选项:设置字符集和存储引擎

    字符集:表中数据存储的字符集,可以与数据库的不一致

    存储引擎:engine,数据的存储方式,默认的是InnoDB,低版本的myisam

    wps234D.tmp

    错误:数据表是由数据库来管理,所以必须先指定数据库

    如何指定数据库?

    1. 显示指定数据库:在创建表的表名前面使用数据库名字.表名

    wps234E.tmp

    2. 隐式的指定数据库:事先进入到数据库环境,再创建表时,默认的使用当前数据库

    语法:use 数据库名字;

    wps235F.tmp

    innodb和myisam的区别

    1. 两种存储引擎结构有区别

    wps2360.tmp

    InnoDB的数据和索引都在外部的ibdata1文件中

    查询表

    查看表以及结构,与数据库的查看基本一致

    语法1:查看所有表

    show tables;

    wps2370.tmp

    语法2:查看表的创建语句

    show create table 表名;

    wps2371.tmp

    语法3:查看表的结构(字段)

    desc/describe/show columns from 表名;

    wps2372.tmp

  • 相关阅读:
    设计模式 享元模式(池化技术)
    设计模式 混合模式(整体部分模式)
    设计模式 适配器模式
    Flex3示例、 安装 、注册码
    VS2010错误
    转载:glut.h 与 stdlib.h中 的exit()重定义问题的解决
    宿迁软件QQ群(109233721)
    百度地图 开发API接口啦
    Sublime Text 插件个人使用总结&推荐
    sublime text2 使用安装插件中文乱码问题解决
  • 原文地址:https://www.cnblogs.com/lifushan/p/6438306.html
Copyright © 2011-2022 走看看