一、数据表

为了确保数据的完整性和一致性,在创建表时指定字段名称,字段类型和字段属性外,还需要使用约束(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=utf8

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


PHP移动互联网开发笔记(8)——MySQL数据库基础回顾[2]的更多相关文章

  1. PHP移动互联网开发笔记(7)——MySQL数据库基础回顾[1]

    一.数据类型 1.整型 数据类型 存储空间 说明 取值范围 TINYINT 1字节 非常小的整数 带符号值:-128~127无符号值:0~255 SMALLINT 2字节 较小的整数 带符号值:-32 ...

  2. 【开发笔记】-MySQL数据库5.7+版本,编码格式设置

    原因 昨天不小心把数据库搞崩了,重装了5.7.27版本得mysql数据库,在安装过程中并没有设置数据库默认编码格式等操作.在把项目启动后,jpa自动创建表结构,会把数据库,表,字段的编码自动设置为IS ...

  3. PHP移动互联网开发笔记(5)——基础函数库

    一.数学函数库 ● floor 舍一取整(向下取整) float floor (float $value); <?php echo(floor(0.60)."<br>&qu ...

  4. Mysql数据库基础学习笔记

    Mysql数据库基础学习笔记 1.mysql查看当前登录的账户名以及数据库 一.单表查询 1.创建数据库yuzly,创建表fruits 创建表 ) ) ,) NOT NULL,PRIMARY KEY( ...

  5. SQLMAP学习笔记2 Mysql数据库注入

    SQLMAP学习笔记2 Mysql数据库注入 注入流程 (如果网站需要登录,就要用到cookie信息,通过F12开发者工具获取cookie信息) sqlmap -u "URL" - ...

  6. 基于gin的golang web开发:访问mysql数据库

    web开发基本都离不开访问数据库,在Gin中使用mysql数据库需要依赖mysql的驱动.直接使用驱动提供的API就要写很多样板代码.你可以找到很多扩展包这里介绍的是jmoiron/sqlx.另外还有 ...

  7. mysql数据库基础-2019-9-10(随堂笔记)

    mysql数据库基础 在cmd情况下启动mysql数据库:(配置path环境变量后可忽略) 运行mysql1. 进入mysql路径2. 执行:mysql -uroot -p,安装时的密码 1.数据库& ...

  8. MySQL数据库基础详解(非原创)

    文章大纲 一.数据库简介二.Mysql数据库简介三.Mysql安装与服务启动(Windows版本)四.Mysql图形化工具五.Mysql存储引擎精讲六.Mysql数据类型介绍七.Mysql主要专业名称 ...

  9. mysql数据库基础的简单操作指南

    最近在学习mysql,本文是做的关于mysql学习的笔记,跟大家分享一下,希望对大家学习mysql知识有所助益.mysql现在几乎已经成了网站建设的主流数据库,很多php网站系统都采用了mysql数据 ...

随机推荐

  1. ArcGIS小技巧——多图层情况下交互显示效果

    在使用ArcMap处理数据的过程中,通常需要对比不同图层之间的差异.或者查看影像配准情况,这时我通常会怀念ENVI中的强大的拉幕显示.闪烁.亮度和透明度显示工具...... 直到有一天,闲着没事干捣鼓 ...

  2. Vue框架学习笔记

    <div id="app"> </div> var app = new Vue({ el:"#app", // 绑定的元素 data:{ ...

  3. Keil 编译环境之在线仿真调试问题

    一.问题现象: 这几天刚开始上手STM32,使用Keil 环境进行编程,然后使用ULINK2进行在线仿真,在按键处理函数程序中设置断点,却发现按了按键程序没有停在设置的断点,程序正常运行,如下图所示, ...

  4. php中 重载(二)

    接着上一次说的重载,我们了解下php中的重载,方法的重载,假设有管重载定义,參考:php中 重载(一)这个文章,谢谢.作为刚開始学习的人,大牛勿喷: 基本是两个方法 __call,当调用对一个不可訪问 ...

  5. hdu 2795 Billboard(线段树单点更新)

    Billboard Time Limit: 20000/8000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  6. textview-显示行数限制

    在代码中直接添加 android:maxLines="2" android:ellipsize="end" 跟ellipsize搭配使用,超过两行的时候,第二行 ...

  7. document.write的注意点

    如果给button点击事件添加document.write会消除页面所有元素,包括button按钮 <!DOCTYPE html> <html> <head> &l ...

  8. 【Codeforces Round #431 (Div. 2) C】From Y to Y

    [链接]点击打开链接 [题意] 让你构造一个大小最多为10W的字符multiset. 你进行n-1次操作; 每次操作,从set中取出两个字符串,一开始单个字符被认为是字符串. 然后把它们连接在一起. ...

  9. node event中 on emit off 的封装

    事件绑定一个事件名称对应多个事件函数 应此它们的关系是一对多的关系 数据类型采用对象的形式 key:val 因为函数有多个 所以val选用数组 事件仓库 eventList = { key:val, ...

  10. 【Codeforces Round #301 (Div. 2) C】 Ice Cave

    [链接] 我是链接,点我呀:) [题意] 给你一个n*m的地图. 每个地图为0的时候可以安全走过,且走过后变成1. (一定要离开之后才会变成1) 而为1的则走过之后会掉入下一层. 你一开始在初始位置( ...