2.1 数据库和数据库表的创建
1数据库的创建(在数据库系统中划分一块存储数据的空间):
create database 数据库名称 [charset 字符集];
2数据库表的创建
use 数据库名
create table 数据库表名(
字段 1 数据类型 [属性],
字段 2 数据类型 [属性],
字段 3 数据类型 [属性],
...
字段 n 数据类型 [属性]
);
注意:
数据库
(1)在1中,[ charset 字符集 ] 是可选的, 用于设定数据库的默认字符集, 即数据库存储使用的字符集. 当不声明时, 默认继承服务器的字符集 utf-8.
(2)关于字符集, 常见的字符集: ASCII(英文字母, 数字),GBK(国标扩展中文简体字符集, big5, 繁体中文),UTF8. 在开发时候, 要注意三码合一, 即数据库, PHP 脚本, 浏览器三者各自使用的字符集应该统一, 建议显示为 UTF8).
(3)已经存在的数据库, 无法再次创建.
(4)数据库命名以字母, 数字, 下划线组成, 长度不超过 32 个字符
数据库表
(1)在创建数据库表之前, 应该使用 "use 数据库名" 指定操作在哪个数据库中进行, 否则会抛出 "No database selected" 错误.
2.2 数据库和数据库表的查看
1数据库的查看
查看全部数据库:
show databases;
查看某个创建的数据库:
show create database 数据库名字;
2数据库表的查看
查看当前数据库中全部数据库表:
show tables;
查看某个具体数据库表方法 1:
show create table 数据库表名;
查看某个具体数据库表方法 2:
desc 数据库表名;
注意:
数据库
(1)系统数据库 (information_schema,performance_schema,MySQL) 不能删除.
(2)查看某个具体的数据库信息时, 显示的信息包括数据库的创建语句及数据库选项(字符集).
数据库表
(1)查看前, 需要首先指定要查看的数据表所在的数据库. 否则: no database selected.
(2)未选择数据库, 可以通过 from 指定数据库名称. show tables from 数据库名;
(3)查看某个具体数据库表方法 1, 可以显示数据表的结构, 定义语句及字符集编码, 若想显示结果更加美观, 可以使用 show create table 数据库表名 \ G
(4)查看某个具体数据库表方法 2, 查看表的字段信息, 其中包括字段名, 字段类型等信息.
2.3 修改数据库和数据库表
1数据库的修改
alter database 数据库名 charset 新字符集;
2数据库表的修改
1, 修改数据库表名
alter table 表名 rename [to] 新表名;
2, 修改数据库表的字段名
alter table 表名 change 旧字段名 新字段名 新字段的字段类型;
3, 修改数据库表的字段数据类型
alter table 表名 modify 字段名字 新的数据类型;
4, 添加字段
alter table 表名 add 字段名 字段类型 [约束条件] [first|after 已存在的字段];
5, 删除字段
alter table 表名 drop 字段名;
6, 调整字段位置
alter table 表名 modify 字段名 1 数据类型 first|after 字段名 2;
注意:
数据库
(1)数据库的修改指的是修改数据库的字符集, 数据库名称不能修改.
数据库表
(1)在修改数据库表的字段名中, 新的字段名称后面的数据类型必须添加, 哪怕新的名称的数据类型与之前的字段的数据类型相同, 也必须添加.
2.4 删除数据库和数据库表
1数据库的删除
drop database 数据库名称;
2数据库表的删除
drop table 数据库表名称;
2.5 字段类型初步介绍
1整型
1,tinyint -128~127
2,smallint -3 万~ 3 万
3,int -800 万~ 800 万
4,mediumint -21 亿~ 21 亿
5,bigint 太大了, 不会计算了
2小数
1,float float 存储小数类型存在精度的问题
2,double
3,decimal(M,D) 对应精度要求比较高的, 使用 decimal 类型, 实现小数的精确存储. 其原理为可以存储每位数字. 一般用来存储与钱有关的数字.
注意: decimal 类型的有效范围由 M 和 D 决定, 其中 M 表示的数据的长度, D 表示的小数点后的长度. 例如将数据类型为 decimal(6,2)的数据 3.1415 插入数据库后, 显示的结果是 3.14.
3字符串类型
1,char(M) char 存储长度比较固定的字符串, 如手机号, 身份证号, 序列号, 邮编, 速度快.
2,varchar(M) varchar 一般用来存储长度变化比较大的字符串, 如文章标题, 商品名称, 速度慢.
注意:
M 为该字段可以存储的最多字符数, 如 varchar(10).M 参数不可以省略, 此外不能超出指定的长度.
可以使用 text 类型, 存储较长的字符串, 无需指定字符串的具体长度.
4日期类型
1,year YYYY '1999'/1999 (支持数字或者字符串插入)
2,date YYYY-MM-DD 支持'YYYY-MM-DD'或者'YYYYMMDD'字符串格式插入
3,time HH:MM:SS 支持 "HHMMSS" 字符串 / HHMMSS 数字格式插入
4,datetime YYYY-MM-DD HH:MM:SS 支持 "YYYY-MM-DD HH:MM:SS"/"YYYYMMDDHHMMSS" 字符串或者 YYYYMMDDHHMMSS 数字格式插入
2.6 表的属性(约束)
1primary key 主键约束, 唯一标识对应记录. 主键字段的值不能重复, 不能为空.
2foreign key 外键约束.
3null / not null 非空约束.
4default 设置字段的默认值, 在没有录入时自动使用默认值填充.
5unique 唯一键, 设置字段的值为唯一的, 可以同时设置多个字段为唯一键. 唯一键字段的值可以为空.
6auto_increment 设置字段为自动增长, 默认从 1 开始自动分配编号. 类型必须为整型. 自增长字段必须为一个 key.
7comment 字段注释
来源: http://www.bubuko.com/infodetail-2961459.html