数据库基本知识
  什么是数据库服务器:安装了数据库软件的电脑,是数据库服务器,同理安装了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亿个字符,大型文本。