数据库基本知识

什么是数据库服务器:安装了数据库软件的电脑,就是数据库服务器,同理安装了Apache软件的电脑就是www服务器。

什么是DBMS:database management system(数据管理系统软件)。

  1. Access:微软的小型数据库软件。
  2. SQL Server:微软的中大型数据库。
  3. Oracle:美国甲骨文公司的数据库软件,大型(超大型)数据库。
  4. My SQL:原来是瑞典AB公司的产品,后来被甲骨文公司收购,适用于中小型网站的数据库。

理解数据库

数据库:可以理解为存放数据的仓库。

数据表:真正存储数据的地方,一个具体的文件,一个数据库中可以存放多个数据表。

记录:在数据表中找数据一般都要先找到哪一行,行就是记录,我们一般用id来找到是哪一行。

字段:数据表中 一列就是一个字段,一条记录中可以有多个字段,字段规定了列的一些属性,如:字符长度,可否为空。

数据:要找数据都是先通过ID来找到一条记录后,选取这条记录中的某个字段来取出数据。

数据库操作(Mac Xampp)

使用终端进入到 xampp中的bin文件夹下进行操作:

  • ./mysql -u root -p  // 进入数据库。
  • show databases;    // 显示所有的数据库。
  • create database if not exists db_name charset utf8;  // 创建数据库。
    • [if not exists](可选):如果不存在这个数据库的话,创建这个数据库,这样写以防报错。
    • [charset utf8](可选):指定数据库的默认字符集,默认是拉丁文,utf8可以插入中文字符的数据。
  • show create database db_name;               // 查看创建某个数据库时的语句(查看某个数据库的字符集)。
  • drop database if exists db_name;              // 删除数据库。
    • [if exists](可选):如果存在的话,删除这个数据库,以防报错。
  • alter database db_name default character set utf8;       // 修改某个数据库的字符集。

数据表操作

数据表是存储在数据库中的,如果要对数据表操作 首先要选择一个数据库,语法:use db_name;

  • show tables;                // 查看所有数据表。
  • create table table_name(col_name col_type col_attrbute,col_name2 col_type2 col_attrbute);          // 创建数据表结构
    • col_name:字段的名称。
    • col_type: 字段的类型。
      • tinyint:0~255之间的整形。
      • int:最大到21亿的整形。
      • bigint:可以储存很大很大的数字。
      • char:定长字符串,就是你指定了10个字符的长度,存储数据为4个字符 它会自动补全到10个字符。
      • varchar:可变长度字符串,适用于当你不确定存储数据的字符长度,但是这个数据不可能超过某个字符长度时 使用varchar。
      • text:文本,可以存储很多字符的类型。
      • date:日期。
      • time:时间。
      • datetime:日期+时间。
    • col_attrbute:字段的属性。    // 属性可以有多个。
      • primary key:主键,表示字段的值必须是唯一的。(一般用于ID,一个表的主键只能有一个)
      • null或not null:指定该字段可否为空。
      • default:指定默认值。
      • auto_increment:自增属性,只有整形才可以使用,会比上一条数据自动增加1。
      • id字段必须是整形并且必须有这3个属性:primary key not null auto_increment。
    • 实例:create table news(id int primary key not null auto_increment,title varchar(100) not null,author varchar(20) not null,content text not null,hits int default 0 not null);
  • describe table_name;                       // 显示表结构。
  • drop table if exists table_name;        // 删除表。
  • alter table;                                      // 修改表结构,因为语法太复杂 一般用可视化软件修改,有兴趣可以看手册。

MySQL数据类型

  • 整形

    • tinyint:最小型整数,最大到255的整数(0~255 或 -128~127),如果设置大于255的整数会自动转换成255。 占用1个字节。
    • smallint:小型整数,范围:0~65535。占用2个字节。
    • mediumint:中型整数,范围:0~1677万。占用3个字节。
    • int:普通整数,范围:0~21亿。占用4个字节。
    • bigint:大型整数,范围:0~42亿,占用8个字节。
  • 浮点型(不止用于小数,浮点型可表达的数字比整形大的多,一般超过bigint的数字使用浮点型,比如:GDP)

    • float(M,D):单精度(可精确到小数点后7位),参数解释:M代表总长度,D代表小数位置。
    • double(M,D):双精度(可精确到小数点后15位),参数跟float一样。
    • 举例:float(7,2) 总长度为7位:9999999,小数点位置是2位:99999.99。 所以 这个单精度的浮点数最大可存储99999.99的数字。
  • 时间日期型

    • date:日期,格式:"YYYY-mm-dd"
    • time:时间,格式:"00:00:00"
  • 字符型

    • char(22):固定长度的字符串,0~255,如 邮编 手机号 电话号码。
    • varchar(50):可变长度的字符串,0~65535.
  • 文本型

    • tinytext:0~255个字符,小型文本。
    • text:0~1670万个字符,普通文本。
    • longtext:0~42亿个字符,大型文本。

我的PHP之旅--认识数据库及数据库操作的更多相关文章

  1. mysql数据库连接池使用(三)数据库元数据信息反射数据库获取数据库信息

    1.1. mysql数据库连接池使用(三)数据库元数据信息反射数据库获取数据库信息 有时候我们想要获取到数据库的基本信息,当前程序连接的那个数据库,数据库的版本信息,数据库中有哪些表,表中都有什么字段 ...

  2. Django实现表单验证、CSRF、cookie和session、缓存、数据库多表操作(双下划綫)

    通常验证用户输入是否合法的话,是前端js和后端共同验证的,这是因为前端js是可以被禁用的,假如被禁用了,那就没法用js实现验证合法与否了,也就是即使用户输入的不合法,但是也没提示,用户也不知道怎么输入 ...

  3. python操作mysql数据库的相关操作实例

    python操作mysql数据库的相关操作实例 # -*- coding: utf-8 -*- #python operate mysql database import MySQLdb #数据库名称 ...

  4. jmeter 性能测试 JDBC Request (查询数据库获取数据库数据) 的使用

    JDBC Request 这个Sampler可以向数据库发送一个jdbc请求(sql语句),并获取返回的数据库数据进行操作.它经常需要和JDBC Connection Configuration配置原 ...

  5. SQLServer 维护脚本分享(04)服务器角色和数据库角色相关操作

    /*------------------------------------------------------------------------------------ [服务器级别-服务器角色] ...

  6. MySQL数据库定义与操作语言

    文章为作者原创,未经许可,禁止转载.    -Sun Yat-sen University 冯兴伟 实验1.1 数据库定义 (1)实验目的 理解和掌握数据库DDL语言,能够熟练地使用SQL DDL语句 ...

  7. (05)odoo数据库和业务操作

    以一个例子开头* To-do 向导   # 配置文件       __openerp_.py:         { 'name': 'To-do Tasks Management Assistant' ...

  8. 在php中需要用到的mysql数据库的简单操作

    1.数据库连接 1.1用windows命令行链接数据库服务器 几个DOS命令 在DOS环境下命令后面没有分号,在MySQL环境下,命令后面有分号 进入盘符: 语法:盘符: 进入盘符下的某个文件夹 语法 ...

  9. linux系统上Mysql数据库导入导出操作

    需求:把MySQL数据库目录中的dz数据库备份到/home/dz_bak.sql ,然后再新建一个数据库dzbak,最后把/home/dz_bak.sql 导入到数据库dzbak中.操作如下:以下操作 ...

  10. SQL查询数据库信息, 数据库表名, 数据库表信息

    SQL查询数据库信息, 数据库表名, 数据库表信息 ---------------------------------------------- -- 以下例子, 在sql_server 中可以直接运 ...

随机推荐

  1. 如何获取SQL Server数据库元数据的方法

    发布时间:2007.06.15 05:05    来源:赛迪网    作者:3946469 元数据简介 元数据 (metadata) 最常见的定义为“有关数据的结构数据”,或者再简单一点就是“关于数据 ...

  2. Java设计模式09:单例模式的强化(控制实例个数n)

    1. 单例模式的本质: 控制实例数目(目的节约资源) 2. 单例模式体现的一些思想: (1)延迟装载(Lazy Load):懒汉式 (2)缓存:饿汉式 3. 单例模式的变形使用: 控制使用实例个数为3 ...

  3. 对于 NSLayoutConstraint 不执行动画的处理:

    在开发中  我们有时候需要改变某个空间的约束条件 也就是更改NSLayoutConstraint的值  (比如说我想在键盘顶部增加一个工具栏 让工具栏随着键盘的位置变化而变化  有一个动画效果)但是发 ...

  4. Elasticsearch 搜索不到数据问题(_mapping 设置)

    需求 由于 kibana3 中,不支持直接在请求的 url 中设置搜索的 type (是不是我不知道???). 为了支持特定 type 的搜索,所以我设置了个下每个 panel 的查询语句,让它增加一 ...

  5. deepin linux安装与配置

    作者:相思羽  出处:http://www.cnblogs.com/xiang-siyu 欢迎转载,也请保留这段声明.谢谢! deepin linux是由深度开发的操作系统,基于debian,内置了搜 ...

  6. Android学习(一) - Activity

    好久不写博客了,自上次写到现在已经一年多了,写这东西其实坚持下来就好了,将自己学的东西一点点写出来成为日后的积累查阅的资料.最近不是特别忙,抽点时间学学移动开发. Android组件中常用的四大组件 ...

  7. 并发容器之CopyOnWriteArrayList(转载)

    Copy-On-Write简称COW,是一种用于程序设计中的优化策略.其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改, ...

  8. ubuntu:configure error:cannot find ssl libraries

    安装SSL库,openssl或者libssl: sudo apt-get install openssl sudo apt-get install libssl configure的时辰加上选项: . ...

  9. php文件上传限制

    PHP默认的上传限定是最大2M,想上传超过此设定的文件,需要调整PHP.apache等的一些参数.下面,我们简要介绍一下PHP文件上传涉及到的一些参数: file_uploads :是否允许通过HTT ...

  10. 牛客OJ——[编程题]A+B和C__如何输入多组测试数据(测试OK)

    几个要注意的地方: (1)Java OJ,必须将类名写成Main (2)关于如何输入多组测试数据,用二维数组去存储是一个方法,直接在while里面做也可以          但是如果  (3)关于整形 ...