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. (转)SDL2.0在mfc窗口中显示yuv的一种方法

    DWORD ThreadFun() {    //用mfc窗口句柄创建一个sdl window    SDL_Window * pWindow = SDL_CreateWindowFrom( (voi ...

  2. atitit.javascript调用java in swt attilax 总结

    atitit.javascript调用java in swt attilax 总结 1. BrowserFunction 简单介绍1 1.1. BrowserFunction 能够分为三类: 1 1. ...

  3. R语言低级绘图函数-axis

    axis函数用来在一张图表上添加轴线,区别于传统的x轴和y轴,axis 允许在上,下,左, 右4个方向添加轴线 以x轴为例,一条轴线包含3个元素,水平的一条横线,叫做axis line , 刻度线, ...

  4. VNC轻松连接远程Linux桌面(1)

    Linux平台安装VNCServer Windows平台使用VNC-Viewer 方法/步骤     在Linux平台安装VNCServer服务端软件包. #yum -y install vnc *v ...

  5. 【Java集合的详细研究9】Java堆栈(stack)的使用方法

    栈是一种常用的数据结构,栈只允许访问栈顶的元素,栈就像一个杯子,每次都只能取杯子顶上的东西,而对于栈就只能每次访问它的栈顶元素,从而可以达到保护栈顶元素以下的其他元素.”先进后出”或”后进先出”就是栈 ...

  6. (转)JavaScript内存模型

    JavaScript对象内存模型 转自:http://blog.csdn.net/u010425776/article/details/53617292  推荐-JavaScript作用域链内存模型: ...

  7. BIEE多层表头报表的制作方法

    使用BIEE制作多层表头的报表大致分为以下的几种办法. 1.双层表头 这种比较容易实现,只需要在表格属性中勾选作为单独的行显示即可.这样通过修改文件夹标题,就可以实现双层表头的制作 2.多层表头的制作 ...

  8. About {DynamicResource {x:Static SystemColors.ControlBrushKey}}

    from : http://blog.sina.com.cn/s/blog_749e42850100sahi.html 前提: <system:String x:Key="{Compo ...

  9. nginx配置技巧汇总

    https://segmentfault.com/a/1190000000437323

  10. Extjs学习笔记--(六,选择器)

    文档对象dom是javascript与页面元素的桥梁 选择器的作用就是通过元素的标签名,属性名,css属性名对页面进行快速,准确的定位及选择 Extjs的选择器:Ext.DomQuery Ext.qu ...