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. PS流的格式和解析总结

    对于PS流,最近因为工作需要,所以MPEG2中的PS流格式和解包过程进行了学习. 首先我们需要知道PS包流格式是怎么样的: (来自http://blog.csdn.net/chen495810242/ ...

  2. PID控制器的应用:控制网络爬虫抓取速度

    一.初识PID控制器 冬天乡下人喜欢烤火取暖,常见的情形就是四人围着麻将桌,桌底放一盆碳火.有人觉得火不够大,那加点木炭吧,还不够,再加点.片刻之后,又觉得火太大,脚都快被烤熟了,那就取出一些木碳…… ...

  3. Python下opencv使用笔记(十)(图像频域滤波与傅里叶变换)

    前面以前介绍过空间域滤波,空间域滤波就是用各种模板直接与图像进行卷积运算,实现对图像的处理,这个方案直接对图像空间操作,操作简单.所以也是空间域滤波. 频域滤波说究竟终于可能是和空间域滤波实现相同的功 ...

  4. 基于swoole扩展实现真正的PHP数据库连接池

    转自:  http://rango.swoole.com/archives/265 PHP的数据库连接池一直以来都是一个难题,很多从PHP语言转向Java的项目,大多数原因都是因为Java有更好的连接 ...

  5. 小知识(class文件查看jdk版本,beyond,could not find setter)

    最近几天工作当中遇到了一些问题,所以记录下来. 1.如何查看class文件的sdk版本 2.beyond compare比对文件 3.Could not find setter for native_ ...

  6. .net FrameWork各个版本之间的发展[转]

    上个星期看到了.NET 4.0框架退休日期逐渐临近文章,发现自己一直在使用NET  FrameWork,身为一个NET程序员,里面大概的区别自己还是知道的,但是自己要说出个所以然来了,发现还是有点力不 ...

  7. win7在64位系统下编译openssl

    曾经在笔记本上配置过openssl-0.9.8g版本号,今天在公司的台式机上配置死活没配置成功.机器的系统是win7,64位.编译openssl-1.0.1e出现各种莫名的错误,最后无意中编译了1.0 ...

  8. Unity工程3D和2D开发模式切换

    在新建工程时,经常会选择默认的3D工程,但是如果想做2D游戏又不小心选了3D工程呢,总不能把工程删了重新建吧,有个办法就是打开 Edit > Project Settings > Edit ...

  9. 各大门户网站全局CSS样式定义

    1.网易 body { text-align: center; font-family:"宋体", arial;margin:0; padding:0; background: # ...

  10. 第四章 Spring.Net 如何管理您的类___对象、对象工厂和应用程序上下文

    在前面一章我们介绍了依赖注入,控制反转的概念,以及自己动手搭建了一下Spring.Net的环境.通过这些操作,我们知道了Spring.Net 的核心是使用依赖注入或控制反转这种思想来管理业务对象,降低 ...