【Mysql】Headfirst系列第四章:表的关系及ALTER/CHANGE/RENAME TO
来源:互联网 发布:千里眼偷窥软件 编辑:程序博客网 时间:2024/05/16 12:56
- RDMBS Relational Database Management System
只关心一个词语‘关系’
设计表的时候,考虑彼此列之间如何产生关系,如何一起描述某项事物。
- 原子性 atom 数据已经被分割至最小块,不能或者不应该再被分割
- 几个问题:
- 你的表在描述什么事物?
- 以何种方式使用表取得描述的事物?
- 列是否包含原子性数据,可让查询既简短又直逼要害?
- 主键
可独一无二地识别出每条记录
- 主键不可以为null
- 插入新纪录时必须指定主键值
- 主键必须简洁
- 主键不可以被修改
- 一个例子
CREATE TABLE my_contacts
{
contact_id INT NOTNULL,//主键非空
last_name varchar(30) default NULL,
first_name varchar(30) default NULL,
email varchar(50) default NULL,
gender char(1) default NULL,
birthday date default NULL,
profession varchar(50) default NULL,
location varchar(50) default NULL,
status varchar(50) default NULL,
interests varchar(100) default NULL,
seeking varchar(100) default NULL,
PRIMARY KEY (contact_id)
}//添加主键的语法:PRIMARY KEY括号内为主键列的列名
- SHOW 命令
- 看列名 SHOW colomns FROM table_name;
- 看警告信息 SHOW WARNING
- 主键ID自动递增
CREATE TABLE my_contacts
{
contact_id INT NOT NULL AUTO_INCREMENT,//主键非空
last_name varchar(30) default NULL,
first_name varchar(30) default NULL,
email varchar(50) default NULL,
gender char(1) default NULL,
birthday date default NULL,
profession varchar(50) default NULL,
location varchar(50) default NULL,
status varchar(50) default NULL,
interests varchar(100) default NULL,
seeking varchar(100) default NULL,
PRIMARY KEY (contact_id)
}//添加主键的语法:PRIMARY KEY括号内为主键列的列名
- ALTER指令 对表进行修改 但不舍弃数据
关键字: ALTER TABLE
ALTER TABLE my_contacts ADD COLUMN eyes_color;
利用关键字 AFTER 可以指明新加入的列放在哪个列的后面
相关的关键字还有 BEFORE/SECOND/FIFTH
如果加入多个列,ADD COLUMNS
如果加入主键 ADD PRIMARY KEY(column_name)
- 表的改名换姓
RENAME 关键字
ALTER TABLE table_name
RENAME TO table_name1;
- Change 指令
Change column 不仅可以改名字还可以同时修改列的类型
配合ALTER指令
ALTER TABLE mycontacts
CHANGE COLUMN eyes_color hair_color varchar(32);
BUT 如果你要把数据改为其他类型,可能会出现数据截断的情况
- 如果只想改变列的数据类型而不改变名称的话 改变位置
用modify这个关键字
ALTER TABLE table_name
MODIFY COLOUMN column_name type;
MODIFY COLUMN color AFTER make;
创建表之后还能通过关键字改变列的顺序吗?不可以
只能在添加新列时指定特定位置。
- 过多的列会使表变得臃肿,查询序列也会变低
通过drop卸掉用不着的列
ALTER TABLE project_list
DROP COLUMN start-end;
9/6 今日的练习
alter table hooptie
add column car_id int not nullAUTO_INCREMENT first,
add primary key (car_id);
修改列名,用change column old_name new_name new_type ;
- 【Mysql】Headfirst系列第四章:表的关系及ALTER/CHANGE/RENAME TO
- mysql ALTER COLUMN MODIFY COLUMN CHANGE COLUMN 区别及用法
- alter table table_name1 rename to table_name2;
- MySQL中ALTER ,CHANGE , MODIFY
- 使用Alter,Change,After修改MySQL表中字段名的排序
- mysql中alter语句中change和modify的区别
- mysql中alter语句中change和modify的区别
- mysql 中alter语句中change和modify的区别
- mysql 中alter语句中change和modify的区别
- mysql中alter语句中change和modify的区别
- MySQL ALTER TABLE: ALTER vs CHANGE vs MODIFY COLUMN
- MySQL ALTER TABLE: ALTER vs CHANGE vs MODIFY COLUMN
- MySQL ALTER TABLE: ALTER vs CHANGE vs MODIFY COLUMN
- 【Sqlite】ALTER TABLE相关命令及change和modify的区别
- Alter by Table Rename 与 Alter Table in Place 的一些记录
- MySQL中ALTER 修改表的定义
- mysql 的alter用法
- mysql 的alter用法
- java 中几种常用数据结构
- 【数据平台】Eclipse+Scala远程开发调试关于hostname的问题
- hdu5914 Triangle 【贪心】
- Yii::app()介绍
- 营业执照15位注册号码含义和查询规则
- 【Mysql】Headfirst系列第四章:表的关系及ALTER/CHANGE/RENAME TO
- 优化MySchool数据库设计
- 字符串和数组转换api
- LeetCode:529. Minesweeper
- k-means、GMM聚类、KNN原理概述
- netty源码深入研究(从客户端入手)第四篇(读写超时详解)
- java编程思想 第4章习题解答
- GNU M4宏处理器快速理解
- EnumPorts枚举当前计算机端口