文档章节

【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
博文 178
码字总数 300412
作品 0
杭州
程序员
要做好性能测试,该掌握些什么?

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

不最醉不龟归
2016/09/29
16
0
Oracle数据库学习的福利来啦——最佳入门经验分享

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

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

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

slagga
2016/09/24
347
0
测试工程师的一些面试题目(python)和总结

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

free赖权华
08/03
0
0
新书出版 |《数据库程序员面试笔试宝典》

新书出版 《数据库程序员面试笔试宝典》 新书出版 《数据库程序员面试笔试宝典》 书名: 数据库程序员面试笔试宝典 作者:李华荣 定价: 69.00元 出版社名称: 机械工业出版社 出版时间: 2018年...

小麦苗
08/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Memcached启动参数详解

memcached -d -m 1024 -l 192.168.100.101 -p 11211 -P /tmp/memcached.pid -c 1024 -f 1.25 -n 80 -t 16 运行参数描述 -d:以守护(daemon)进程方式启动; -u:是运行Memcache的用户,例如 ......

月下狼
11分钟前
0
0
xgboost-kaggle

https://www.kaggle.com/dansbecker/xgboost This tutorial is part of the Learn Machine Learning series. In this step, you will learn how to build and optimize models with the powe......

tantexian
12分钟前
0
0
nginx学习八 代理服务

最常用的语法 proxy_pass Syntax: proxy_pass URL;Default: --Context:location.if in location,limit_exception 反向代理 例:/etc/nginx/conf.d/default.conf 反向代理(代理服务端)......

Romanceling
19分钟前
0
0
npm ERR! Unexpected end of JSON ...

npm install 报错: npm ERR! Unexpected end of JSON input while parsing near '..."^2.8.14"},"_hasShrin' npm ERR! A complete log of this run can be found in: ... 打开终端 命令: 第......

大_侠
24分钟前
0
0
Android中的设计模式之责任链模式

参考 《设计模式:可复用面向对象软件的基础 》5.1 Chain of responsibility 职责链 对象行为型模式 《Android源码设计模式解析与实战》第9章 使编程更有灵活性--责任链模式 意图 使多个对象...

newtrek
27分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部