· 您可以在一个ALTER TABLE语句里写入多个ADD, ALTER, DROP和CHANGE子句,中间用逗号分开。这是MySQL相对于标准SQL的扩展。在标准SQL中,每个ALTER TABLE语句中每个子句只允许使用一次。例如,在一个语句中取消多个列:
· mysql> ALTER TABLE t2 DROP COLUMN c, DROP COLUMN d;
创建表
以下例子展示了ALTER TABLE的使用。首先展示表t1。表t1采用如下方法创建:
mysql> CREATE TABLE t1 (a INTEGER,b CHAR(10));
修改表名
把表t1重新命名为t2:
mysql> ALTER TABLE t1 RENAME t2;
修改列的类型,名称
把列a从INTERGER更改为TINYINT NOT NULL(名称保持不变),并把列b从CHAR(10)更改为CHAR(20),同时把列b重新命名为列c:
mysql> ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);
添加列
添加一个新的TIMESTAMP列,名称为d:
mysql> ALTER TABLE t2 ADD d TIMESTAMP;
添加索引
在列d和列a中添加索引:
mysql> ALTER TABLE t2 ADD INDEX (d), ADD INDEX (a);
删除列
删除列c:
mysql> ALTER TABLE t2 DROP COLUMN c;
添加自动增长列
添加一个新的AUTO_INCREMENT整数列,名称为c:
mysql> ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,
-> ADD PRIMARY KEY (c);
注意我们为c编制了索引(作为PRIMARY KEY),因为AUTO_INCREMENT列必须编制索引。同时我们定义c为NOT NULL,因为主键列不能为NULL。
-------
ps:添加自动增长我就没成功过.-0-~
附上 创建带有自动增长列的表
CREATE TABLE test_table(
Id int(6) unsigned NOT NULL auto_increment,
name varchar(10),
primary key (id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
-------
成功了...
必须将自动增长列设为主键
这句话 primary key (id)
分享到:
相关推荐
mysql_一列分多行操作,在一个表里的几行数据需要分拆成单行存储到一行中,mysql_一列分多行操作,在一个表里的几行数据需要分拆成单行存储到一行中 mysql_一列分多行操作,在一个表里的几行数据需要分拆成单行存储...
MySQL 虽然没有内置的行转列和列转行函数,但通过 CASE、GROUP_CONCAT、UNION ALL 和 JOIN 等 SQL 语句,我们可以灵活地对数据进行转换,满足不同的数据分析需求。在实际应用中,应根据数据的特性和业务需求选择合适...
在数据库管理中,MySQL是一个广泛使用的开源关系型数据库系统,其功能强大且灵活。...总的来说,理解和掌握行转列与列转行的技巧,能够帮助我们更好地利用MySQL处理复杂的数据需求,提升数据分析和决策的效率。
本实验旨在深入理解MySQL数据库的基本操作,包括数据库的创建、查看、删除和使用,以及表结构的设计与管理。通过实际操作,我们将掌握如何创建和修改表结构,设置表约束,以及处理表数据的插入、删除和修改。此外,...
表是数据的结构化存储方式,由列和行组成。例如,创建一个名为"Students"的表,包含ID、姓名和年龄字段,可以使用如下SQL语句: ```sql CREATE TABLE Students ( ID INT PRIMARY KEY, Name VARCHAR(100), Age INT...
根据提供的文件信息,本文将详细解释与MySQL系统表查询相关的几个关键知识点,包括如何查询数据库中...以上就是关于MySQL系统表查询以及表结构修改的关键知识点,通过学习这些内容,可以帮助你更好地管理和维护数据库。
行转列操作通常涉及将源表中的某列的不同值转换为结果表中的不同列,同时保留其他列作为行标识。在MySQL中实现这一功能并不像在某些数据库系统(如SQL Server)那样直接提供内置的PIVOT函数,而是需要通过SQL查询的...
MySQL 行转列是一种常用的数据处理操作,用于将同一列下的不同内容的几行数据转换成几列显示。例如,我们有一个成绩表 tb_score,其中包含 userid、subject 和 score 三个字段。我们可以使用 CASE WHEN 语句或 IF ...
本文详细介绍了 Mysql 创建用户和表的方法,包括使用 CREATE USER 语句、GRANT 语句和直接向 mysql.user 表插入记录三种方法,并提供了实例和详细的语法解释,以便读者更好地理解和掌握 Mysql 创建用户和表的知识。
本文将深入探讨如何使用C#编程语言与Windows操作系统中的CMD.exe(命令提示符)结合,来实现为MySQL数据库中的表添加新的一列,并设定默认值。这种方法在数据库结构需要动态调整或者在应用程序中进行自动化数据库...
mysql中有种可以通过join相关操作进行表与表之间的方式查询不同结果集,但是在一对多的情况下,关键查询的结果是多条的.例如:班级和学习的关系,我想很直观的看到班级和学生的情况,列表显示出班级的信息和班级的男生...
应尽量为经常用于WHERE子句和JOIN操作的列建立索引,避免全表扫描。复合索引适用于多条件查询,而唯一索引可以避免重复数据,提高数据一致性。 3. **查询优化**:避免在WHERE子句中使用不等运算符和函数,这可能...
在Java中,实体类通常代表数据库中的表,类的属性对应于表的列,类的方法则用于CRUD(创建、读取、更新和删除)操作。例如,一个名为`User`的实体类可能有`id`、`name`和`email`属性,分别对应`users`表的`id`、`...
在MySQL数据库管理系统中,增加列(也称为添加字段)是常见的数据表结构调整操作。这通常在需要为现有数据表添加新属性或信息时进行。在本篇内容中,我们将深入探讨如何使用SQL语句在MySQL中增加列,并结合源码和...
MySQL的权限系统允许精细的控制,包括针对特定表、列,甚至特定操作时间的权限设定。 总的来说,MySQL的数据操作和授权管理是数据库管理员和开发者的必备技能,理解并熟练掌握这些概念对于有效管理和保护数据库至关...
MySQL支持创建多个数据库,每个数据库包含一个或多个表,表由行和列构成,与Excel工作表类似,但具有更强大的数据结构和事务处理能力。 3. 数据转换过程 将Excel转换为MySQL通常涉及以下步骤: - 导出Excel数据:...
本示例“基于Mysql的表转HBase小Demo”提供了一个简单的解决方案,将Mysql中的数据转换并存储到HBase这种分布式列式数据库中。这个过程对于那些希望从传统的关系型数据库迁移到NoSQL数据库,尤其是对大规模数据进行...
- 实体类应与数据库表对应,每个字段对应表中的列。使用`@Entity`注解标记实体类,`@Table`指定对应的表名。 - 对于类中的属性,使用`@Id`标识主键,`@GeneratedValue`定义主键生成策略,`@Column`指定列名等。 3...