【SQL篇章】【SQL语句梳理 :--基于MySQL5.6】【已梳理:ALTER TABLE解析】
CREATE TABLE t1 (a INTEGER,b CHAR(10));
ADD [COLUMN] (col_name column_definition,...)
ALTER TABLE t1 ADD COLUMN c TIMESTAMP;
mysql> desc t1;
+-------+-----------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-----------+------+-----+-------------------+-----------------------------+
| a | int(11) | YES | | NULL | |
| b | char(10) | YES | | NULL | |
| c | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+-------+-----------+------+-----+-------------------+-----------------------------+
ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name ]
ALTER TABLE t1 ADD COLUMN d int after a;
mysql> desc t1;
+-------+-----------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-----------+------+-----+-------------------+-----------------------------+
| a | int(11) | YES | | NULL | |
| d | int(11) | YES | | NULL | |
| b | char(10) | YES | | NULL | |
| c | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+-------+-----------+------+-----+-------------------+-----------------------------+
ADD {INDEX|KEY} [index_name] [index_type] (index_col_name,...) [index_option] ...
ALTER TABLE t1 ADD INDEX idx_d(d); (d列增加索引)
CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL,
`d` int(11) DEFAULT NULL,
`b` char(10) DEFAULT NULL,
`c` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
KEY `idx_d` (`d`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
- Primary key
- Unique key
- Foreign key
CREATE TABLE s1(id INT,NAME VARCHAR(10),address CHAR(20));
CREATE TABLE s2(id INT,s1_id INT);
ALTER TABLE s1 ADD PRIMARY KEY(id); (列被置成not null)
mysql> desc s1;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | 0 | |
| name | varchar(10) | YES | | NULL | |
| address | char(20) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
ALTER TABLE s1 ADD UNIQUE KEY (NAME);
mysql> desc s1;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | 0 | |
| name | varchar(10) | YES | UNI | NULL | |
| address | char(20) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,...) reference_definition
ALTER TABLE s2 ADD FOREIGN KEY (s1_id) REFERENCES s1 (id); 指向表s1的id列
CREATE TABLE `s2` (
`id` int(11) DEFAULT NULL,
`s1_id` int(11) DEFAULT NULL,
KEY `s1_id` (`s1_id`),
CONSTRAINT `s2_ibfk_1` FOREIGN KEY (`s1_id`) REFERENCES `s1` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
ALTER TABLE t1 ADD FULLTEXT full_f (f);
CREATE TABLE `t1` (
`a` int(11) NOT NULL DEFAULT '0',
`d` int(11) DEFAULT NULL,
`b` char(10) DEFAULT NULL,
`c` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`f` text,
PRIMARY KEY (`a`),
KEY `idx_d` (`d`),
FULLTEXT KEY `full_f` (`f`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
ALTER TABLE t1 ALTER COLUMN a SET DEFAULT '1';
ALTER TABLE t1 ALTER COLUMN d DROP DEFAULT ;
CREATE TABLE `t1` (
`a` int(11) NOT NULL DEFAULT '1',
`d` int(11),
`b` char(10) DEFAULT NULL,
`c` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`f` text,
PRIMARY KEY (`a`),
KEY `idx_d` (`d`),
FULLTEXT KEY `full_f` (`f`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
CREATE TABLE t1 (a INTEGER,b CHAR(10));
CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST|AFTER col_name]
ALTER TABLE t3 CHANGE a a_1 INT NOT NULL AFTER b;
MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name]
ALTER TABLE t4 MODIFY a INT NOT NULL,CHANGE b c VARCHAR(20);
DROP [COLUMN] col_name
ALTER TABLE t1 DROP COLUMN a;
DROP PRIMARY KEY
ALTER TABLE t1 DROP PRIMARY KEY;
DROP {INDEX|KEY} index_name
ALTER TABLE t1 DROP INDEX idx_d;
DROP FOREIGN KEY fk_symbol
ALTER TABLE s2 DROP FOREIGN KEY s2_ibfk_1
CREATE TABLE `s2` (
`id` int(11) DEFAULT NULL,
`s1_id` int(11) DEFAULT NULL,
KEY `s1_id` (`s1_id`),
CONSTRAINT `s2_ibfk_1` FOREIGN KEY (`s1_id`) REFERENCES `s1` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
RENAME [TO|AS] new_tbl_name
ALTER TABLE t1 rename to t2;
[DEFAULT] CHARACTER SET [=] charset_name [COLLATE [=] collation_name]
ALTER TABLE t1 CHARACTER SET = utf8;
【SQL篇章】【SQL语句梳理 :--基于MySQL5.6】【已梳理:ALTER TABLE解析】的更多相关文章
- 【SQL篇章--DATABASE/EVENTS】
[SQL篇章][SQL语句梳理 :--基于MySQL5.6][已梳理:DATABASE/EVENTS][会坚持完善] 目录: 1. Data Definition Statements: 1.1 ...
- 【SQL篇章--CREATE TABLE】
[SQL篇章][SQL语句梳理 :--基于MySQL5.6][已梳理:CREATE TABLE][会坚持完善] SQL : 1. Data Definition Statements: 1.3 CRE ...
- 【SQL】SQL
SQL基础 本文参照:http://www.w3school.com.cn/sql/ SQL 结构化查询语言(Structured Query Language). 对于大小写不敏感. SQL 使用单 ...
- mybatis 的动态sql语句是基于OGNL表达式的。
mybatis 的动态sql语句是基于OGNL表达式的.可以方便的在 sql 语句中实现某些逻辑. 总体说来mybatis 动态SQL 语句主要有以下几类:1. if 语句 (简单的条件判断)2. c ...
- oracle PL/SQL管理命令语句
一.ORACLE的启动和关闭 1.在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle>svrmgrl ...
- 【转】SQL常用的语句和函数
原文链接:http://www.cnblogs.com/mailingfeng/archive/2013/01/07/2850116.html order by 的数值型灵活使用 select * f ...
- SQL常用的语句和函数
order by 的数值型灵活使用 select * from table_a where order by decode(函数,'asc',1,'desc',-1)*jsny; 控制试图的访问时间: ...
- SQL 常用基础语句
1.SQL SELECT 语句 语法:SELECT 列名称 FROM 表名称 2.SQL SELECT DISTINCT 语句 语法:SELECT DISTINCT 列名 ...
- SQL SERVER 基本操作语句
Sql 是一种结构化的查询语言:Sql是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理‘关系型数据库’系统:Sql对大小写不敏感:Sql不是数据库,是行业标准,是结构化的查询语言 In ...
随机推荐
- spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件)转
关键字:spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) 应用场景:很多时候我们想要在某个类加载完毕时干某件事情,但是使用了spring管理对象,我们这个类引用 ...
- Array数组标准库
概述 Array是JavaScript的内置对象,同时也是一个构造函数,可以用它生成新的数组. 作为构造函数时,Array可以接受参数,但是不同的参数,会使得Array产生不同的行为. 无参数时,返回 ...
- Android填坑系列:Android JSONObject 中对key-value为null的特殊处理
在与服务端通过JSON格式进行交互过程中,不同版本的JSON库在对于key-value为null情况上的处理不同. Android自带的org.json对key-value都要求不能为null,对于必 ...
- php 设置mssql编码 解决乱码问题 mssql_connect charset Utf8
当用mssql存储数据采用 nchar 或 nvarchar 存储时 , 由于nchar 或 nvarcha 不支持 UCS-2 ( 即 SQLServer 不会按照 UTF-8 格式存储) 导致P ...
- 实战手记:让百万级数据瞬间导入SQL Server
想必每个DBA都喜欢挑战数据导入时间,用时越短工作效率越高,也充分的能够证明自己的实力.实际工作中有时候需要把大量数据导入数据库,然后用于各种程序计算,本文将向大家推荐一个挑战4秒极限让百万级数据瞬间 ...
- js 字符串 replace replaceAll
var str = "男的女的老的少的"; alert(str.replace('的','')); 可以看到替换后的str的值为"男女的老的少的",replac ...
- jQuery Label Better – 友好的表单输入框提示插件
jQuery Label Better 帮助你标记您的表单输入域,带有美丽的动画效果而且不占用空间.这个插件的独特之处在于所有你需要做的就是添加一个占位符文本,只有当用户需要它的时候才显示标签. 您可 ...
- 10个最好的 JavaScript 动画库和开发框架
虽然 CSS3 动画功能能够让我们以简单轻松的方式实现动画效果,但是浏览器兼容性问题让人头疼.不过不用担心,我们还有另外的武器——JavaScript,它同样可以帮助你实现各种各样的动画效果,而且借助 ...
- 尝试加载 Oracle 客户端库时引发 BadImageFormatException。问题记录
电脑是win8 64位,安装oracle 11g r2 64位的,谁知道一切装完毕后,打开项目却连不上oracle数据了...首先是pl/sql连不上,装了oracle服务器,应该是不用再装客户端,p ...
- html5标签的改变
1.新的文档类型声明 浏览器解析html模式是有两种模式,按照各自浏览器的定义渲染的页面叫“怪异模式”,而按照w3c组织统一的标准渲染叫“标准模式”.一般都是使用标准模式来保持网页兼容性,区分这两种模 ...