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 链接