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. Qt 事件处理的五个层次

    看了这篇文章(见http://devbean.blog.51cto.com/448512/231861),然后经过自己的思考,把Qt事件处理的五个层次.同时也是Qt时间处理的流程画了出来.若有不对请批 ...

  2. Collections 集合工具类

    集合工具类  包括很多静态方法来操作集合list 而Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序.搜索以及线程安全等各种操作. 1) 排序( ...

  3. 获得android手机的联网状态

    获得android手机的联网状态   在Android平台上开发基于网络的应用,必然需要去判断当前的网络连接情况.下面的代码,作为例子,详细说明了对于当前网络情况的判断. 先看一个自己定义的应用类. ...

  4. 后台测试常需要的htm样式

    <form name="form" method="post" action="#"> <input type=" ...

  5. Python版本,pip版本手动管理

    http://blog.csdn.net/jiandanjinxin/article/details/53175121

  6. JDK中的序列化和反序列化

    题外话:诸事缠身,不知不觉距离上一篇就将近一个月了,读书不易,学习不易,唯有坚持. 写来写去始终不满意,索性贴一个比较好的文章吧! 参考: [Java基础]序列化与反序列化深入分析

  7. C 字符串操作函数

    针对C风格的字符串(char p[n];): 长度(strlen).追加(strcat, strncat).比较(strcmp, strncmp).查找(strchr, strstr)等. --带n的 ...

  8. 【Java集合的详细研究5】Java中Array与ArrayList的主要区别

    1)精辟阐述:可以将 ArrayList想象成一种“会自动扩增容量的Array”. 2)Array([]):最高效:但是其容量固定且无法动态改变:     ArrayList:  容量可动态增长:但牺 ...

  9. sql 字符串操作

    SQL Server之字符串函数   以下所有例子均Studnet表为例:  计算字符串长度len()用来计算字符串的长度 select sname ,len(sname) from student ...

  10. jQuery实现鼠标经过时高亮,同时其他同级元素变暗的效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...