文档章节

【PHP】SQL常用基础知识

岑小白
 岑小白
发布于 2012/11/20 23:13
字数 921
阅读 57
收藏 2

1、用sql语句创建数据表,包含外键和主键的声明:

    如果在创建时没有指定外键连接的数据库,如按以下方式进行创建:

create table UserInfo(                       
   User_nID             int                  not null,  -- identity
   User_sNo             varchar(50)          null,      -- 编号
   User_sName           varchar(50)          null,      -- 名称
   User_sEmail          varchar(200)         null,      -- 邮件
   primary key (User_nID)                -- 设置 主键为 User_nID
)

    将外键连接到指定数据表的sql示例为:

alter table studcourse add constraint key_sid foreign key (sid) references student(sid);
// key_sid是外键名称,studcourse 是关系表表名,sid为关系表外键字段名,student是外链表表名,sid为student被外链的字段名

    也可以直接用phpmyadmin进行 添加索引的操作。

2、可使用的各种 MySQL 数据类型

数值类型  描述 
int(size)
smallint(size)
tinyint(size)
mediumint(size)
bigint(size) 
仅支持整数。在 size 参数中规定数字的最大值。
decimal(size,d)
double(size,d)
float(size,d) 
支持带有小数的数字。 在 size 参数中规定数字的最大值。在 d 参数中规定小数点右侧的数字的最大值。

文本数据类型  描述 
char(size) 

支持固定长度的字符串。(可包含字母、数字以及特殊符号)。

在 size 参数中规定固定长度。  

varchar(size) 

支持可变长度的字符串。(可包含字母、数字以及特殊符号)。

在 size 参数中规定最大长度。  

tinytext  支持可变长度的字符串,最大长度是 255 个字符。 
text
blob 
支持可变长度的字符串,最大长度是 65535 个字符。 
mediumtext
mediumblob 
支持可变长度的字符串,最大长度是 16777215 个字符。 
longtext
longblob 
支持可变长度的字符串,最大长度是 4294967295  个字符。 
日期数据类型  描述 
date(yyyy-mm-dd)
datetime(yyyy-mm-dd hh:mm:ss)
timestamp(yyyymmddhhmmss)
time(hh:mm:ss) 
支持日期或时间 
杂项数据类型  描述 
enum(value1,value2,ect)  ENUM 是 ENUMERATED 列表的缩写。可以在括号中存放最多 65535 个值。 
set  SET 与 ENUM 相似。但是,SET 可拥有最多 64 个列表项目,并可存放不止一个 choice 

3、数据库简单运用

  • 数据库和表操作:

    • 创建一个数据库命令:CREATE TABLE 

    • 删除一个数据库命令:DROP TABLE 

    • 修改一个字段名称:RENAME TABLE `原字段` TO `新字段` ; 

    • 删除一个字段:       ALTER TABLE `表`  DROP `原字段`

    • 插入一个字段:       ALTER TABLE `表`  ADD `新字段` …  AFTER `原字段` 

  • 数据增删改查:

    • SELECT 查询语句和条件语句  格式:SELECT  查询字段 FROM 表名 WHERE 条件 

    • 分组语句:group by 字段  |  排序语句:order by 字段,字段 ASC / DESC  |  指针查询:limit 初始值,结束值

    • Insert 插入语句  格式:insert into 表名 (字段…,…) values(值…,…)

    • Update 更新语句    格式:UPDATE 表名 SET 字段 = 值 WHERE 条件 limit  

    • Delete  删除语句   格式:DELETE  FROM 表名 WHERE 条件 limit

4、PHP操作 MySQL

  • PHP链接mysql函数    

    • mysql_connect: 开启 MySQL 链接  写法:mysql_connect("主机", "用户名", "密码")    

    • mysql_select_db: 打开一个数据库  写法:mysql_select_db("打开数据库",连接标识符); 

    • 注意:如果不特别声明连接标识符,则默认为是上一次打开的连接。 @   和  or die 隐藏错误 和 条件显示

  • 如何去执行一个SQL语句    

    • mysql_query (SQL语句 ,连接标识符);    

    • $sql = "SELECT * FROM  test";    

    • $result = @ mysql_query($sql, $conn) or die(mysql_error());

  • 两种查询函数array / row区别    

    • 格式:mysql_fetch_row(result); 

    • 格式:mysql_fetch_array(result); 

    • mysql_query("set names 'GBK'"); 解决中文乱码

  • 其他常用Mysql函数介绍    

    • mysql_num_rows  用于计算查询结果中所得行的数目 

    • mysql_insert_id 传回最后一次使用 INSERT 指令的 ID。 

    • mysql_tablename 取得数据库名称 

    • mysql_error   返回错误信息 

    • mysql_close 关闭 MySQL 链接

© 著作权归作者所有

共有 人打赏支持
岑小白

岑小白

粉丝 133
博文 187
码字总数 300648
作品 0
杭州
其他
私信 提问
Oracle数据库学习的福利来啦——最佳入门经验分享

适用人群:从事数据库技术实施或售后工程师,准备参加OCA,OCP认证考试 通过学习对Oracle数据库的相关基础知识进行梳理,最终共同提炼出必须最先掌握的那部分知识,无论你是数据库开发、管理、...

让往事随风
2016/04/13
34
0
Postman Fiddler使用手册

本文主要讲解没有什么主要的内容,主要是一些网上的Postman和fiddle教程,本人亲自测试和阅读过,以下是一些链接, Postman: 一,Postman软件安装 二,Postman使用手册1——导入导出和发送请...

slagga
2016/09/24
347
0
要做好性能测试,该掌握些什么?

今天有同行在blog上留言,问“想从功能测试转向性能测试,但不知道需要哪些了解哪些知识,及怎样进行一个系统的学习”。这类问题之前也被问到很多次了,所以这次干脆整理一下,发个主题供同行...

不最醉不龟归
2016/09/29
16
0
测试工程师的一些面试题目(python)和总结

(一)说明 1、记录自己面试测试工程师时遇到的一些编程题(python)。 2、回顾下面试的过程,做个总结。 (二)题目 1、输入:JSON {"a":"aa","b":"bb","c":{"d":"dd","e":"ee"}} 输出:字典...

free赖权华
08/03
0
0
【北京】北京筑和招聘Java开发工程师(中级)[6~9K]

岗位要求: 1、软件工程相关专业本科及以上,基础知识扎实,掌握OO分析设计思想和设计方法。 2、有较好的英文阅读能力。 3、Java(J2EE)基础扎实,熟练使用JSP、Servlet,理解和掌握struts、s...

老俞
2012/02/10
464
4

没有更多内容

加载失败,请刷新页面

加载更多

我的Linux系统九阴真经

我的Linux系统九阴真经 在今天,互联网的迅猛发展,科技技术也日新月异,各种编程技术也如雨后春笋一样,冒出尖来了。各种创业公司也百花齐放百家争鸣,特别是针对服务行业,新型互联网服务行...

linuxCool
31分钟前
5
0
Python程序员需要知道的30个技巧

1 直接交换两个数字位置 1x, y = 10, 202print(x, y)3x, y = y, x4print(x, y)5#1 (10, 20)6#2 (20, 10) 2 比较运算符的链接 1n = 102result = 1 < n < 203print(result)4# True5result = 1 ......

糖宝lsh
31分钟前
2
0
[LintCode] Linked List Cycle(带环链表)

描述 给定一个链表,判断它是否有环。 样例 给出 -21->10->4->5, tail connects to node index 1,返回 true。 这里解释下,题目的意思,在英文原题中,tail connects to node index 1 表示的...

honeymose
42分钟前
6
0
Android :报错Your project path contains non-ASCII characters.

报错内容如下 Your project path contains non-ASCII characters. This will most likely cause the build to fail on Windows. Please move your project to a different directory. See ht......

lanyu96
53分钟前
6
0
Nginx平滑添加模块

Nginx已经编译安装并运行了一段时间, 然后某一天, 发现需要用到某个模块但当初没有编译, 这个时候怎么办呢? 卸载重新安装肯定可以的, 如果Nginx版本没有变更的话, 则有一个相对平滑的方法来添...

老菜鸟0217
58分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部