1、数据库简介

(1)、什么是数据库?
    一个文件  一个文件夹  一个u盘   一个硬盘......都叫做数据库    存放数据的仓库
 
(2)、常见的数据库?
    mySql  sqlServer  mongodb  oracle......
 
(3)、数据库的有点
    1、采用结构化查询语言SQL访问数据库
 
    2、支持linux mac os、windows等多种操作系统
 
    3、为多种编程语言提供API 如C java php。。。
 
    4、开源的,无需支付额外的费用
 
    5、提供用于管理 检查 优化数据库的管理工具
 
 
(4)、数据库中的数据是存放在表中的,表是有行和列组成,列也叫做字段

2、表中字段类型的基本了解


(1)、字段类型---字符串

    数据类型          含义

        char              最多255个字符

        varchar       最多65532个字符

        tinytext           最多255个字符

        text                 最多65535个字符

        mediumtext    最多2的24次方-1个字符

        longtext          最多2的32次方-1个字符

当你设置字段类型为VARCHAR或CHAR时,需要指定长度值

 
关于varchar与char的区别
   1、一个汉字=2个英文字母=2字节

 
  2、定义一个char[10]和varchar[10],如果存进去的是‘abcd’,那么char所占的长度依然为10,除了字符‘abcd’外,后面跟六个空格,而varchar就立马把长度变为4了,取数据的时候,char类型的要用trim()去掉多余的空格,而varchar是不需要的,

   3、char的存取数度还是要比varchar要快得多,因为其长度固定,方便程序的存储与查找;但是char也为此付出的是空间的代价,因为其长度固定,所以难免会有多余的空格占位符占据空间,可谓是以空间换取时间效率,而varchar是以空间效率为首位的

(2)、字段类型---时间

        数据类型            含义

        date                  日期,格式:YYYY-MM-DD

        time                  时间,格式:HH:MM:SS

        datetime           日期时间,格式:YYYY-MM-DD HH:MM:SS

        timestamp        功能和detetime相同(但范围小)

        year                  年份,格式:yyyy

3、字段属性

unsigned:
    如果设置unsigned那么只能存储正数
 
    例如金额  订单id  用户id等等
 
zerofill:
    定义无符号的数值,对应的取值范围翻倍
    
    当插入该列的长度小于定义的长度的时候会自动在前面补0   这个属性和unsigned一起使用
 
binary:
    只用于char和varchar值,当字段指定了该属性时,将以区分大小写的方式排序

4、NULL&&NOT NULL

指定null属性时,该列可以保持为空
 
如果将一个列定义为not null,将不允许向该列插入null值
 
选中:可以为空  
 
不选中:不能为空

5、索引

(1)、mysql的索引主要有以下几种
    1、主键索引:primary
 
    2、唯一索引:unique
 
    3、索引:index
 
    4、全局索引:fulltext
 
主键索引: 是一种特殊的唯一索引,一个表只能有一个主键,不允许有空值
 
唯一索引: 索引列的值必须唯一,但允许有空值
 
索引: 这是最基本的索引,它没有任何限制,也是我们大多数情况下用到的索引。
 
全局索引: MySQL从3.23.23版开始支持全文索引和全文检索,FULLTEXT索引仅可用于 MyISAM 表;他们可以从CHAR、VARCHAR或TEXT列中作为CREATE TABLE语句的一部分被创建,或是随后使用ALTER TABLE 或CREATE INDEX被添加。
 
可以在char、varchar或text类型的列上创建
 
 
 主键索引与唯一索引的区别
 
  1、主键不允许空值,唯一索引允许空值
  2、主键只允许一个,唯一索引允许多个
 
(2)、索引的优点及缺点:
 
    优点:
         大大加快数据查询速度
 
         通过创建唯一索引,保证数据库表每行数据的唯一性
 
    缺点:
         维护索引需要耗费数据资源
 
         占用磁盘空间
 
         影响对表的数据进行增删改的速度

6、auto_increment

当存在并发的时候
 
自动生成整数值
 
新值为上一次插入的值+1
 
只适用于整数列
 
必须有唯一索引
 
必须具备NOT NULL属性
 
A_I就是auto_increment的缩写

【php】---mysql---基本操作及使用---【巷子】的更多相关文章

  1. mysql 基本操作语句

    mysql 基本操作笔记: 创建表demo:CREATE TABLE `role` ( `role_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMME ...

  2. css属性编写顺序+mysql基本操作+html细节(个人笔记)

    css属性编写顺序: 影响文档流的属性(比如:display, position, float, clear, visibility, table-layout等) 自身盒模型的属性(比如:width ...

  3. 【mysql】mysql基本操作

    mysql基本操作 1.mysql表复制 mysql 表结构的复制 create table t2 like t2 mysql 表数据的复制 insert into t2 select * from ...

  4. 数据库相关 Mysql基本操作

    数据库相关 设计三范式: 第一范式: 主要强调原子性 即表的每一列(字段)包含的内容,不能再拆分.如果,某张表的列,还可以细分,则违背了数据库设计的第一范式. 第二范式: 主要强调主键,即:数据库中的 ...

  5. Mysql基本操作、C++Mysql简单应用、PythonMysql简单应用

    MySql基本操作 -- 当指定名称的数据库不存在时创建它并且指定使用的字符集和排序方式 CREATE DATABASE IF NOT EXISTS db_name CHARACTER SET UTF ...

  6. MySQL必知必会笔记-Mysql基本操作

    Mysql基本操作 mysql的基本操作包括增.删.改.查,本书中前三章简单的介绍MySQL为何物,查是mysql中非常重要的功能,4-6章展示了mysql的查(查询--select)的简单实现,my ...

  7. day02 MySQL基本操作

    day02 MySQL基本操作 昨日内容回顾 数据库演变史 1.纯文件阶段 2.目录规范 3.单机游戏 4.联网游戏 # 数据库就是一款帮助我们管理数据的程序 软件开发架构及数据库本质 cs架构与bs ...

  8. MYSQL基本操作(上)

    很久之前,就想做个Mysql的小结,毕竟数据库知识是软件研发的基本技能,这里话不多说,开始总结一波. 数据库基本概念 数据库为高效的存储和处理数据的介质(主要分为磁盘和内存两种),一般关系型数据库存储 ...

  9. MySQL(二) MySQL基本操作

    数据库的基本操作 启动关闭 MySQL 服务 MySQL 安装好后,默认是当 Windows 启动.停止时,MySQL 也自动.停止.不过,用户可以使用 Windows 下的服务管理器或从命令行使用 ...

  10. CodeIgniter框架——创建一个简单的Web站点(include MySQL基本操作)

    目标 使用 CodeIgniter 创建一个简单的 Web 站点.该站点将有一个主页,显示一些宣传文本和一个表单,该表单将发布到数据库表中. 按照 CodeIgniter 的术语,可将这些需求转换为以 ...

随机推荐

  1. 数组累加兼eval性能测试

    <label> <input type="checkbox" />测试结果 </label> <script> document.g ...

  2. MFC CreateWindow介绍

    CreateWindow 该函数创建一个重叠式窗口.弹出式窗口或子窗口.它指定窗口类,窗口标题,窗口风格,以及窗口的初始位置及大小(可选的).函数也指该窗口的父窗口或所属窗口(如果存在的话),及窗口的 ...

  3. Spring 4 官方文档学习(十)数据访问之ORM

    http://docs.spring.io/spring/docs/current/spring-framework-reference/html/orm.html 占位用,暂略.

  4. 编译 boost 库(win7+boost1.60+vs2008)

    参见:http://blog.csdn.net/u013074465/article/details/42532527 下载boost安装包 https://sourceforge.net/proje ...

  5. C++ 数字

    C++ 数字通常,当我们需要用到数字时,我们会使用原始的数据类型,如 int.short.long.float 和 double 等等.这些用于数字的数据类型,其可能的值和数值范围,我们已经在 C++ ...

  6. TinyOS节点间通信相关接口和组件介绍

    一.基本通信接口:   Packet:提供了对message_t抽象数据类型的基本访问.这个接口的命令有:清空消息内容,获得消息的有效载荷区长度,获得消息有效载荷区的指针. //tos/interfa ...

  7. 【Java面试题】34 List 、Map、Set 区别?

    一.Set是最简单的一种集合.集合中的对象不按特定的方式排序,并且没有重复对象. Set接口主要实现了两个实现类: HashSet: HashSet类按照哈希算法来存取集合中的对象,存取速度比较快 T ...

  8. MySQL索引覆盖

    什么是“索引覆盖”? 简单来的说,就是让查询的字段(包括where子句中的字段),都是索引字段.索引覆盖的好处是什么?好处是极大的.极大的.极大的提高查询的效率!重要的说三遍! 特别说明: 1.whe ...

  9. jQuery.ajax实现根据不同的Content-Type做出不同的响应

    使用H5+ASP.NET General Handler开发项目,使用ajax进行前后端的通讯.有一个场景需求是根据服务器返回的不同数据类型,前端进行不同的响应,这里记录下如何使用$.ajax实现该需 ...

  10. cesium可视化空间数据2

    圆柱圆锥体 <!DOCTYPE html> <html> <head> <!-- Use correct character set. --> < ...