PHP学习笔记(一)

by Alina.Xia, dated on 2016.11.27

一、MyAql数据库
PHP在开发web站点或管理一些系统时,需要对大量的数据进行保存。XML文件和文本文件虽然可以作为数据的整体,但不易进行管理和对大量数据的存储,所以在开发项目时,数据库就显得非常重要。PHP可以连接的数据库种类较多,但MySQL数据库是开源界所公认的与PHP结合最好的数据库。它具有安全、跨平台、高效,体积小,成本低等特点。 MySQL数据库可以称得上是目前运行速度最快的SQL语言数据库之一。
1.启动和关闭MySQL服务器
   只有启动MySQL服务器,才可以操作MySQL数据库。
   (1)链接MySQL服务器。 选择'MySQL console',打开MySQL命令窗口
   (2)输入MySQL服务器root账户的密码,并按enter键,如果密码为空,则直接按enter键
   (3)在mysql>提示符下输入exit或者quit命令,按enter键来断开MySQL连接
2.操作MySQL数据库
   针对MySQL数据库的操作可以分为创建、选择、删除3种。
   (1)创建数据库
      a.开启MySQL服务器后,在mysql>后输入create database 数据库名; 按enter键
       如创建一个名为alina_sat的数据库 create database alina_sat;
      *创建alina_sat数据库后,MySQL管理系统会自动在''E:\wamp\bin\mysql\mysql5.5.8\data“目录下创建alina_sat数据库文件夹及相关文件,实现对该数据库的文件                 管理。 用户可以通过修改MySQL配置文件my.ini(E:\wamp\bin\mysql\mysql5.5.8\data\mu.ini)中设置的数据库文件的配置选项datadir的值,

      对存储目录进行重新设置。
      *创新数据库时,数据库的命名要遵循如下规则:
         i.不能与其他数据库重名
         ii.名称可以由任意字母、阿拉伯数字、下划线或者$组成,但不可能使用单独的数字,否则会造成与数字相混淆
         iii.名称最长可为64个字符(包括表、列和索引的命名),而别名最多可长达256个字符
         iv.不能使用MySQL关键字作为数据库、表名
         v.默认情况下,Windows下数据库名、表名的字母大小写是不敏感的,但Linux下数据库名、表名大小写字母是敏感的。为了方便数据库在平台间进行移植,

        建议采 用小写字母来定义数据库名和表名。

   (2)选择数据库  use 数据库名;
      使用use语句选择一个数据库,使其成为当前默认的数据库
      选择alina_xia数据库之后,才可以操作该数据库中的所有对象。
   (3)查看数据库 show databases;
       可显示MySQL数据中所有存在的数据库名
   (4)删除数据库 drop database 数据库名;
      MySQL管理系统会自动删除E:\wamp\bin\mysql\mysql5.5.8\data,目录下alina_sat目录及相关文件。
    *此命令要谨慎使用,因为一旦删除,没有恢复的可能。除非数据库有备份

3.MySQL数据类型
     在MySQL数据库中,每一条数据都有其数据类型,MySQL支持的数据类型主要分成3类:数字类型,字符串(字符)类型、日期和时间类型
   (1)数字类型 分为整型和浮点型两类
      i.整数数据类型 :
       数据类型                         取值范围                                                                        说明                     单位
       TINYINT               符号值-127~127,无符号值:0~255                                    最小的整数               1字节
       BIT                       同上                                                                                   同上                     同上
       BOOL                    同上                                                                                   同上                     同上
       SMALLINT             符号值-32768~32767,无符号值0~65535                               小型整数                 2字节
       MEDIUMINT          符号值-8388608~8388607,无符号值0~16777215                    中型整数                3字节
       INT                      符号值-2147683648~2147683647,无符号值0~4294967295     标准整数                 4字节
       BIGINT                 符号值-9223372036854775808~9223372036854775808,
                                  无符号值0~18446744073709551615                                         大整数                  8字节
      ii.浮点数据类型:
       FLOAT                   +/-3.402823466E+38                                                      单精度浮点数             8字节或4字节
       DOUBLE                  +/-1.7976931348623157E+308                          
                                    +/-2.2250738585072014E-308                                       双精度浮点数              8字节
       DECIMAL                可变                                                                                  一般整数                自定义长度
    *选择使用哪种数字类型时,应遵循以下原则:
       a.选择最小的可用类型。如果值永远不超过127,则使用TINYINT要比INT好
       b.都是数字的,可选择整数类型
       c.浮点类型用于可能具有小数部分的数,如货物单价、网上购物交付金额等
   (2)字符串类型 分为普通的文本字符串类型CHAR或者VARCHAR、可变类型(TEXT和BLOB)、特殊类型(SET和ENUM)
       字数确定的用char,不确定的用varchar
   (3)日期和时间类型 包括DATETIME、DATE、TIMESTAMP、TIME和YEAR。 如果赋予它一个不合法的值,将会被0代替
       类型                          取值范围                                          格式
       DATE              1000-01-01   9999-12-31                    YYYY-MM-DD
       TIME              -838:58:59    835:59:59                      HH:MM:SS
       DATETIME       1000-01-01    00:00:00           
                             9999-12-31 23:59:59                     YYYY-MM-DD HH:MM:DD
       TIMESTAMP     1970-01-01 00:00:00
                             2037年的某个时间                          时间标签,在处理报告时使用的显示格式取决于M的值
       YEAR              1901-2155                                  年份可指定两位数字和四位数字的格式
   
4.操纵数据表

上一篇:RaSa2.5.x构建助理之二:Migrate From Other Tools (beta)


下一篇:SLF4J - 一个允许你统一日志记录API的抽象层