PHP移动互联网开发笔记(8)——MySQL数据库基础回顾[2]
一、数据表
为了确保数据的完整性和一致性,在创建表时指定字段名称,字段类型和字段属性外,还需要使用约束(constraint),索引(index),主键(primary key)和外键(foregin key)等。
约束条件:
not null 非空约束
unique 唯一性约束
primary key 主键约束
foreign key 外键约束
check 检查约束
auto_increment 自动标识列(值会自动增1)
创建表:
修改表:
修改表的结构,如修改列的类型,添加新的字段,删除原有字段,更改表名称
alter table user modify/add/drop/change/rename
删除表:
添加数据(一次添加一条和一次添加多条)
查询:
修改表数据:
删除表中记录:
当表中字段很长时:书写不方便,我们可以使用as给字段起别名:
去掉查询中重复,使用distinct
查询数值在某一范围:select * from user where age between.. and ..
查询在给出值的集合中的值:select * from user where name in('"lixq", "lxq");
模糊查询:
%:代表0到多个字符
_:代表一个任意字符
二、索引
索引在数据库开发中,可以提高查询优化,确保数据的唯一性,以及可以对任何全文索引字段中大量文本的搜索进行优化,索引的分类:主键索引(primary key),唯一索引(unique),常规索引(index),全文索引(fulltext);
三、数据库表类型及存储位置
Mysql支持MYISAM,InnoDB,MEMORY等多种数据表类型
默认数据表类型由mysql服务器配置文件里的default-table-type选项指定,在创建一个新数据表时,可以通过engine或type选项决定数据表类型。
MYISAM:使用一种表格锁定的机制,来优化多个并发的读写操作;myisam不支持事物,也不支持外键,优势访问速度快,如果以select和insert为主的应用myisam是最好的选择;myisam类型的表可能会损坏,损坏后表可能不能被访问,myisam提供修复工具。
innoDB:具有提交,回滚和崩溃恢复能力的事物安全存储引擎,同样支持外键机制和大多数数据库不同,mysql中有一个存储引擎的概念,针对不同的存储需求可选最优存储引擎,但对比myisam存储引擎,处理效率上差一点,并占用列多的空间。
查看默认存储引擎:
查看当前数据库支持存储引擎
一般在mysql的安装目录下的data文件中存储数据表
四、数据表的默认字符集
在mysql数据库中,可以为数据库,数据表,甚至每一个数据列分别设定一个不同的字符集,使用create table命令创建数据库时,若没有指定任何字符集,则是mysql配置文件里character-set-server选项决定的。

修改按照目录下的my.ini文件
default-character-set=utf8
character-set-server=utf8windows中显示中文会出现问题,加一个set names gbk 显示就会正常
PHP移动互联网开发笔记(8)——MySQL数据库基础回顾[2]的更多相关文章
- PHP移动互联网开发笔记(7)——MySQL数据库基础回顾[1]
		一.数据类型 1.整型 数据类型 存储空间 说明 取值范围 TINYINT 1字节 非常小的整数 带符号值:-128~127无符号值:0~255 SMALLINT 2字节 较小的整数 带符号值:-32 ... 
- 【开发笔记】-MySQL数据库5.7+版本,编码格式设置
		原因 昨天不小心把数据库搞崩了,重装了5.7.27版本得mysql数据库,在安装过程中并没有设置数据库默认编码格式等操作.在把项目启动后,jpa自动创建表结构,会把数据库,表,字段的编码自动设置为IS ... 
- PHP移动互联网开发笔记(5)——基础函数库
		一.数学函数库 ● floor 舍一取整(向下取整) float floor (float $value); <?php echo(floor(0.60)."<br>&qu ... 
- Mysql数据库基础学习笔记
		Mysql数据库基础学习笔记 1.mysql查看当前登录的账户名以及数据库 一.单表查询 1.创建数据库yuzly,创建表fruits 创建表 ) ) ,) NOT NULL,PRIMARY KEY( ... 
- SQLMAP学习笔记2 Mysql数据库注入
		SQLMAP学习笔记2 Mysql数据库注入 注入流程 (如果网站需要登录,就要用到cookie信息,通过F12开发者工具获取cookie信息) sqlmap -u "URL" - ... 
- 基于gin的golang web开发:访问mysql数据库
		web开发基本都离不开访问数据库,在Gin中使用mysql数据库需要依赖mysql的驱动.直接使用驱动提供的API就要写很多样板代码.你可以找到很多扩展包这里介绍的是jmoiron/sqlx.另外还有 ... 
- mysql数据库基础-2019-9-10(随堂笔记)
		mysql数据库基础 在cmd情况下启动mysql数据库:(配置path环境变量后可忽略) 运行mysql1. 进入mysql路径2. 执行:mysql -uroot -p,安装时的密码 1.数据库& ... 
- MySQL数据库基础详解(非原创)
		文章大纲 一.数据库简介二.Mysql数据库简介三.Mysql安装与服务启动(Windows版本)四.Mysql图形化工具五.Mysql存储引擎精讲六.Mysql数据类型介绍七.Mysql主要专业名称 ... 
- mysql数据库基础的简单操作指南
		最近在学习mysql,本文是做的关于mysql学习的笔记,跟大家分享一下,希望对大家学习mysql知识有所助益.mysql现在几乎已经成了网站建设的主流数据库,很多php网站系统都采用了mysql数据 ... 
随机推荐
- BZOJ1503: [NOI2004]郁闷的出纳员(Splay)
			Description OIER公司是一家大型专业化软件公司,有着数以万计的员工.作为一名出纳员,我的任务之一便是统计每位员工的 工资.这本来是一份不错的工作,但是令人郁闷的是,我们的老板反复无常,经 ... 
- CMake编译Makefile
			以编译Libtif文件为例: 你可以用CMake编译libtiff,超简单,两个步骤. 参考文章 CharlesSimonyi,libtiff库的问题的答复 
- APM2.8 Rover 自己主动巡航车设计(固件安装和设置)
			1.2 APM2.8软件安装与固件下载 下载Mission Planner这个地面基站软件,这里介绍的是windoews平台下的,在MAC或者linux下能够使用QGroundCont基于QT编写的地 ... 
- 单元测试Assert类
			Assert类主要的静态成员 1. AreEqual:方法被重载了N多次,主要功能是判断两个值是否相等:如果两个值不相等,则测试失败. 2. AreNotEqual:方法被重载了N多次,主要功能是判断 ... 
- GitHub上常用命令(工作中几乎每天用到的命令)
			查看自己当前分支 git branch 查看远程和本地分支 git branch -a 查看origin下的分支 git config -vv git config --lis 创建分支 git br ... 
- spring与cxf整合配置webservice接口(以jaxws:server的方式配置)
			ps:最近项目需要跟其他系统做同步,需要使用webservice来提供接口给其他系统调用:临时抱佛脚赶紧去网上找了下资料,发现用Endpoint的方式发布接口好容易哦:赶紧写了个例子做验证,发布成功. ... 
- 给已有数据的oracle表建立外键关系
			PS:这里是给自己做个备忘,下次遇到同类问题的时候,方便查找: 客户在有主外键关系的2张表进行页面删除时报错已有子记录,运维后台处理的时候应该找出相应的数据,先删除子记录,在删主表记录:但客户要的急, ... 
- C# 文件转byte数组,byte数组再转换文件
			using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ... 
- 【微信】微信获取TOKEN,以及储存TOKEN方法,Spring quartz让Token永只是期
			官网说明 access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token.开发人员须要进行妥善保存. access_token的存储至少要保留512个字符空间.ac ... 
- HTML高级标签(3)————表单的应用
			在HTML开发中,标签的种类和数量非常多,不可能说每一种都研究透.非常多能够用CSS来控制的标签,我们基本没有必要在上面浪费时间.所以,我们仅仅要掌握在HTML开发中比較经常使用的标签就全然能够了. ... 
