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.操纵数据表
PHP学习笔记(一)的更多相关文章
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- seaJs学习笔记2 – seaJs组建库的使用
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...
- CSS学习笔记
CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...
- HTML学习笔记
HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...
- DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记
今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...
- ucos实时操作系统学习笔记——任务间通信(消息)
ucos另一种任务间通信的机制是消息(mbox),个人感觉是它是queue中只有一个信息的特殊情况,从代码中可以很清楚的看到,因为之前有关于queue的学习笔记,所以一并讲一下mbox.为什么有了qu ...
随机推荐
- 监控Tomcat解决方案(监控应用服务器系列文章分享)
使用JMX接口开发监控程序 ◆ 全部代码需要从零开始,代码量较大 ◆ 支持各不同版本比较麻烦,每个版本可能有差异 ◆ 可支配性强 ◆ 最重要的一个缺点是,配置比较麻烦 Tomcat激活JMX远 ...
- 【编程题目】题目:定义 Fibonacci 数列 输入 n,用最快的方法求该数列的第 n 项。
第 19 题(数组.递归):题目:定义 Fibonacci 数列如下:/ 0 n=0f(n)= 1 n=1/ f(n-1)+f(n-2) n=2输入 n,用最快的方法求该数列的第 n 项. 思路:递归 ...
- LeetCode 326 Power of Three
Problem: Given an integer, write a function to determine if it is a power of three. Could you do it ...
- IOS - 控件的AutoresizingMask属性
在 UIView 中有一个autoresizingMask的属性,它对应的是一个枚举的值(如下),属性的意思就是自动调整子控件与父控件中间的位置,宽高. enum { UIViewAutoresi ...
- 多线程编程4 - NSOperationQueue
一.简介 一个NSOperation对象可以通过调用start方法来执行任务,默认是同步执行的.也可以将NSOperation添加到一个NSOperationQueue(操作队列)中去执行,而且是异步 ...
- eclipse maven tomcat7 热部署
.配置tomcat a.配置jdk b.CATALINA_HOME=c:\tomcat CATALINA_BASE=c:\tomcat .tomcat配置密码 C:\Program Files\oth ...
- XMPP框架下微信项目总结(3)获取点子名片信息(个人资料)更新电子名片
思路:1 调用方法,添加点子名片模块(名片信息含电话,头像,单位个人信息)等 开启ps:APP发送请求到服务器openfire,服务器返回个人信息,app存储到数据库,app界面需要数据通过数据库获取 ...
- android bitmap的放大缩小
private static Bitmap big(Bitmap bitmap) { Matrix matrix = new Matrix(); matrix.postScale(1.5f,1.5f) ...
- 查看当前文件系统 df -lhT -B G
[root@ok-T test]# df -lhT -B G Filesystem Type 1G-blocks Used Available Use% Mounted on /dev/mapper/ ...
- Tensorflow 的Word2vec demo解析
简单demo的代码路径在tensorflow\tensorflow\g3doc\tutorials\word2vec\word2vec_basic.py Sikp gram方式的model思路 htt ...