[TOC]
>[success]表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
## 创建表
**创建MySQL数据表需要以下信息:**
1. 表名
2. 表字段名(至少一个)
3. 定义每个表字段(类型,修饰)
**实例**
~~~
mysql> CREATE TABLE stu (id int(5),name char(20));
~~~
## 显示表结构
~~~
mysql> desc stu;
~~~
## 删除表
~~~
mysql> drop table stu;
~~~
## 表修饰
### default
设置字段的默认值,如果没有向这个字段插入内容,将使用默认值
### unique
UNIQUE约束唯一标识数据库表中的每条记录。一个表中可以有多个字段使用unique约束
### primary key
约束唯一标识数据库表中的每条记录。主键必须包含唯一的值。主键列不能包含 NULL 值。每个表都应该有一个主键,并且每个表只能有一个主键。
### zerofill
用前导0填充数值以达到指定的显示位数,使用这个修饰符可以阻止 MySQL 数据库存储负值。
### unsigned
unsigned 修饰符规定字段只保存正值。因为不需要保存数字的正、负符号,可以在储时节约一个“位”的空间。仍而增大这个字段可以存储的值的范围
### AUTO_INCREMENT
我们通常希望在每次插入新纪录时,自动地创建主键字段的值。我们可以在表中创建一个auto-increment字段。默认地AUTO_INCREMENT 的开始值是1,每条新纪录递增 1。
当插入记录时,如果为AUTO_INCREMENT数据列明确指定了一个数值,则会出现两种情况,情况一,如果插入的值不已有的编号重复,则会出现出错信息,因为AUTO_INCREMENT数据列的值必须是唯一的;情况二,如果插入的值大亍已编号的值,则会把该插入到数据列中,并使在下一个编号将仍这个新值开始递增。也就是说,可以跳过一些编号。
**完整实例**
~~~
mysql>CREATE TABLE `stu` (
`id` int(5) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` char(20) NOT NULL DEFAULT '1' COMMENT '学生名',
`sex` enum('男','女','保密') NOT NULL DEFAULT '保密' COMMENT '性别',
`age` int(3) unsigned NOT NULL COMMENT '年龄',
`qq` varchar(11) NOT NULL COMMENT 'qq',
`score` int(3) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='学生表';
~~~
## 复制表结构
~~~
mysql>create table stu_copy like stu;
~~~
复制一个跟stu表结构一样的另外一张表,不包含数据。
## 复制表数据
~~~
mysql>insert into stu_copy select * from stu;
~~~
复制表数据到另外一张表。
## 创建表同时复制数据
~~~
mysql>create table stu_copy select * from stu;
~~~
复制一个跟stu表结构一样的另外一张表,包含数据。
>[danger]练习:创建一个学校的数据库 school。
创建学生表,包含字段id,学生姓名,性别,年龄。
创建学生日记表,包含id 标题,内容,查看次数。
- 序言
- 第一章:准备工作
- 写在学习之前的话
- web应用开发结构
- 开发工具/环境
- 第二章:展现层面(HTML/CSS)
- HTML简介
- HTML基础
- HTML编码
- HTML链接
- HTML图像
- HTML列表
- HTML表单
- HTML表格(分水岭)
- HTML 实体
- HTML框架
- CSS层叠样式表
- CSS选择器
- CSS文本/字体
- CSS继承和叠加
- CSS框模型
- CSS浮动(分水岭)
- CSS定位
- CSS背景
- CSS图标字体
- CSS补充
- 开发技巧
- 第三章:展现层面(Javascript)
- JS简介
- JS实现
- JS输出交互
- JS变量
- JS数据类型
- JS运算符
- JS流程控制(分水岭)
- JS函数
- JS数组
- JS对象(分水岭)
- JS数组对象
- JS字符串对象
- JS数学对象
- JS日期对象
- JS BOM对象(分水岭)
- JS DOM对象
- JS事件对象
- JS元素对象
- JS DOM节点
- 第四章:展现层面(Jquery)
- JQ简介
- JQ使用
- JQ选择器
- JQ筛选
- JQ属性
- JQ-CSS
- JQ事件
- JQ文档处理
- JQ效果
- JQ-ajax
- 第五章:逻辑/业务层面(PHP)
- PHP简介
- PHP变量
- PHP数据类型
- PHP常量
- PHP运算符
- PHP流程控制
- PHP函数(分水岭)
- PHP日期
- PHP数学
- PHP数组
- PHP字符串
- PHP正则表达式(分水岭)
- PHP目录操作
- PHP文件
- PHP上传/下载
- PHP面向对象(分水岭)
- PHP图像处理
- PHP会话控制
- Ajax异步处理
- PHPMysql扩展
- PHPMysqli扩展
- PHPPdo扩展
- PHP接口
- PHP命名空间
- 第六章:逻辑/业务层面(框架设计)
- 第七章:存储层面(mysql)
- Mysql基础
- Mysql Sql简介
- Mysql数据库
- Mysql数据类型
- Mysql数据表
- Mysql操作记录
- Mysql查询
- Mysql修改表结构
- Mysql日期与时间
- Mysql分组统计
- Mysql多表查询
- Mysql安全
- Mysql存储引擎
- Mysql事务
- Mysql视图
- Mysql触发器
- Mysql存储过程
- Mysql存储函数
- Mysql优化
- 第八章:服务器(Linux)
- Linux介绍与安装
- Shell
- 目录与文件操作
- VIM编辑器使用
- 帐号管理
- SUDO
- 权限控制
- 压缩与打包
- 软件安装
- 计划任务
- 进程管理
- 宝塔Linux面板