zoukankan      html  css  js  c++  java
  • php学习day9---数据库的基本知识

        今天主要学习了mysql的基本知识。

    一、数据库的介绍

      1.数据库的分类 

         要学习数据库我们首先要明白什么是数据库,数据库也就类似一个仓库,可以储存大量不同的数据,DBMS系统,全名database management system  是数据库管理系统,是一个管理数据的软件,安装了数据库软件的的电脑就是数据库服务器,端口默认为3306,数据库服务器,提供数据的更新,管理,安全事务等方面的功能。

         数据库根据结构的不同可以分为三种:层次数据库、网状数据库、关系数据库。当然,目前最流行的数据库就是关系数据库。

        几个数据库的相关概念:

        data:数据

        database:数据库,用于储存数据类似于一个大的文件夹。

        dbms:数据库管理系统 ,比如mysql,oracle等等 

        table:数据表,用来存放数据,拥有行和列。类似于文件中的文件。

        row:记录,数据表中的一条记录,也就是一行数据。

        field:字段,是列  数据表中的一列数据。

      2.主流的数据库

          目前在市面上最流行的几大数据库分别是:

            Access:是微软的小型数据库

            SQLsever:微软的中型数据库

            Oracle:美国甲骨文公司的产品,大型或者超大型。

            MySQL:瑞典ab公司的产品,后来被甲骨文收购,中小型网站应用,开源。

        SQL:这是关系数据库的标准语言,STRUCT QUERY LANGUAGE(结构化查询语言)

        关系数据库的特点是:表与表之间的数据可以建立一定 的“对应关系”。如下图:

              

      3.数据库的基本操作流程

         首先,建立与数据库之间的连接。

        其次,客户端向服务器发送sql命令,服务器端执行命令,并返回执行结果

        最后,客户端接受结果显示并断开连接。

    二、数据库的基本语法

      1.启动数据库

        数据库的启动方法

        以命令行的方式:

                     启动:net  start  mysql

              关闭:net  start  mysql

        如下图:

                       

          当然要注意:如果想在全局路径上使用的话需要配置自己的环境变量。

        服务模式:控制面板-》管理工具-》服务-》mysql-》停止/启动

      2.退出/登录数据库

        登录数据库:

              mysql -h服务器地址 -u登录名 -p登录密码;

              mysql --host=服务器地址 --user=用户名 --port=端口 --password

        退出: quit; exit;

        注意:在登录数据库之后一定要使用“set names gbk”来设定当前连接数据库的环境编码,即当前跟数据库打交道的客户端的本身的编码。

                          

      3.数据库的备份和恢复

        备份:就是将一个数据库,完整的转换为一个可以随时携带和传送的文件

        备份的方法:

              mysqldump -h服务器地址 -u登录名 -p  数据库名>文件名

          

         恢复备份:将一个备份之后的数据恢复到数据库

            mysql  -h服务器地址  -u登录名   -p   数据库名 < 文件名

          

        注意:这两个命令,都是在没有登录mysql的时候使用,其中mysqldump命令还需要在管理员身份打开,通常恢复,就是指恢复原来数据库中的所有表数据信息及其它信息,表明可以是新名字。

      4.基础语法规定

        注释:

          注释有三种:

            单行注释 :#  注释内容

            单行注释: -- 注释内容(--后有一个空格)

            多行注释:/*注释内容*/

        语句行:

          默认情况下,以一个英文分号作为一条语句的结束,而且常规操作中,都是一次执行一条语句。

        大小写:

          mysql语言背部本身不区分大小写;

          mysql的某些命令执行会生成文件夹,此时可能要区分大小写;

        命名问题:

          可以自己命名的名字称作标识符。

          命名建议与php命名相同,字母数字下划线,并不以数字开头。

          非常规字符或系统关键字虽然可以作为标识符使用,但最好要包在反引号(数字1左边那个反撇 ` )中,并且不推荐。

    三、数据库定义语句

      1.创建数据库

          在连接数据库服务器之后,我们需要进行创建数据库,当然数据库的创建语法如下:

            create database  db_name [charset ut8];

            

      2.删除数据库

          我们既然可以创建数据库,那么我们也可以删除数据库,删除数据库的语法是:

            drop  database   【if exists】 db_name;

            

      3.修改数据库

          通常我们修改数据库,只修改两项:

            修改编码;

            修改排列顺序;

          语法:

            alter  database  数据库名   charset  新的编码名   collate  新的排序规则名

          

      4.进入数据库

         语法:

          use  数据库名称

             

    四、php操作数据库的基本函数

      在php中完成相关数据库的操作,首先要执行以下代码:

        $link = mysql_connect("数据库服务器地址","用户名","密码");

        mysql_query("set names utf8");//也可以使用mysql_set_charset("");

        mysql_query("use  数据库名称");//也可以使用mysql_seleck_db("");

      然后,才开始正式执行要完成的数据库操作任务(语句):

        $result  =  mysql_query(“select /  delete  /update  / insert  /  desc  /  show  tables  /drop  .......”);

        补充:

          mysql_error();  获取执行错误时的失败信息

          mysql_query();

         对于mysql_query()这个函数,可以执行几乎任何sql语句,在执行语句时可以分为两种情况。

         1.执行时返回全是布尔值的:(其返回结果都是布尔值)比如:

         insert,  update,  delete, create table,  create database ,drop ...执行成功返回true,执行失败返回false;

         2.执行时返回有数据:(执行失败返回false,成功返回结果集)比如:

          $result = mysql_query(“select ... “);

         while (  $rec  =  mysql_fetch_array( $result )  ){

          //mysql_fetch_array()会取出该结果集中的“一行数据”,并取得该行数据后赋值给$rec

          //$rec就是一个数组,其下标就是字段名;

          //在此while循环中,mysql_fetch_array()会一次次(一行行)取出结果集中的所有数据;

          然后,在这里就可以处理该数组$rec了:

         }      

        $n1 = mysql_num_rows(结果集); //获得该结果集的数据行数;

        $n2 = mysql_num_fields(结果集); //获得该结果集的数据列数;

        $name = mysql_field_name(结果集, $i ); //获得结果集的第i个字段的名字!i0开始算起。

         明天继续。

  • 相关阅读:
    mysql_wp_replication_tutorial
    Procedure execution failed 2013
    [Err] 1136
    innodb_flush_log_at_trx_commit和sync_binlog 参数说明
    mysql没有oracle 那样一次性把data buffer 数据写入磁盘
    Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field
    MyEclipse之Widget is disposed
    Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Query was empty
    An internal error occurred during: "Building workspace". GC overhead limit exceeded
    Oracle 内部复制文档解读
  • 原文地址:https://www.cnblogs.com/pzp-fire/p/5867049.html
Copyright © 2011-2022 走看看