欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP移动互联网开发笔记(8)MySQL数据库基础回顾[2]

程序员文章站 2022-05-07 18:25:35
...

一、数据表 为了确保数据的完整性和一致性,在创建表时指定字段名称,字段类型和字段属性外,还需要使用约束(constraint),索引(index),主键(primary key)和外键(foregin key)等。 约束条件: not null 非空约束 unique 唯一性约束 primary key 主键

一、数据表

为了确保数据的完整性和一致性,在创建表时指定字段名称,字段类型和字段属性外,还需要使用约束(constraint),索引(index),主键(primary key)和外键(foregin key)等。

约束条件:

not null 非空约束

unique 唯一性约束

primary key 主键约束

foreign key 外键约束

check 检查约束

auto_increment 自动标识列(值会自动增1)

创建表:

PHP移动互联网开发笔记(8)MySQL数据库基础回顾[2]

修改表:

修改表的结构,如修改列的类型,添加新的字段,删除原有字段,更改表名称

alter table user modify/add/drop/change/rename

PHP移动互联网开发笔记(8)MySQL数据库基础回顾[2]

删除表:

PHP移动互联网开发笔记(8)MySQL数据库基础回顾[2]

添加数据(一次添加一条和一次添加多条)

PHP移动互联网开发笔记(8)MySQL数据库基础回顾[2]

查询:

PHP移动互联网开发笔记(8)MySQL数据库基础回顾[2]

修改表数据:

PHP移动互联网开发笔记(8)MySQL数据库基础回顾[2]

删除表中记录:

PHP移动互联网开发笔记(8)MySQL数据库基础回顾[2]

当表中字段很长时:书写不方便,我们可以使用as给字段起别名:

PHP移动互联网开发笔记(8)MySQL数据库基础回顾[2]

去掉查询中重复,使用distinct

PHP移动互联网开发笔记(8)MySQL数据库基础回顾[2]

查询数值在某一范围:select * from user where age between.. and ..

PHP移动互联网开发笔记(8)MySQL数据库基础回顾[2]

查询在给出值的集合中的值:select * from user where name in('"lixq", "lxq");

PHP移动互联网开发笔记(8)MySQL数据库基础回顾[2]

模糊查询:

%:代表0到多个字符

_:代表一个任意字符

PHP移动互联网开发笔记(8)MySQL数据库基础回顾[2]

二、索引

索引在数据库开发中,可以提高查询优化,确保数据的唯一性,以及可以对任何全文索引字段中大量文本的搜索进行优化,索引的分类:主键索引(primary key),唯一索引(unique),常规索引(index),全文索引(fulltext);

PHP移动互联网开发笔记(8)MySQL数据库基础回顾[2]

三、数据库表类型及存储位置

Mysql支持MYISAM,InnoDB,MEMORY等多种数据表类型
默认数据表类型由mysql服务器配置文件里的default-table-type选项指定,在创建一个新数据表时,可以通过engine或type选项决定数据表类型。
MYISAM:使用一种表格锁定的机制,来优化多个并发的读写操作;myisam不支持事物,也不支持外键,优势访问速度快,如果以select和insert为主的应用myisam是最好的选择;myisam类型的表可能会损坏,损坏后表可能不能被访问,myisam提供修复工具。
innoDB:具有提交,回滚和崩溃恢复能力的事物安全存储引擎,同样支持外键机制和大多数数据库不同,mysql中有一个存储引擎的概念,针对不同的存储需求可选最优存储引擎,但对比myisam存储引擎,处理效率上差一点,并占用列多的空间。
查看默认存储引擎:

PHP移动互联网开发笔记(8)MySQL数据库基础回顾[2]

查看当前数据库支持存储引擎

PHP移动互联网开发笔记(8)MySQL数据库基础回顾[2]

一般在mysql的安装目录下的data文件中存储数据表


四、数据表的默认字符集

在mysql数据库中,可以为数据库,数据表,甚至每一个数据列分别设定一个不同的字符集,使用create table命令创建数据库时,若没有指定任何字符集,则是mysql配置文件里character-set-server选项决定的。

PHP移动互联网开发笔记(8)MySQL数据库基础回顾[2]

修改按照目录下的my.ini文件

default-character-set=utf8
character-set-server=utf8

windows中显示中文会出现问题,加一个set names gbk 显示就会正常