语法一:Alter table tbl_name modify[column] col_name [first|after col_name]
讲解:更改 数据表 某某表 修改 【列】 列名称 列定义 【位置|位置】
语法二:alter table tab_name change[column] old_name new_name [first|after col_name]
讲解:更改 数据表 某某表 修改 【列】 列名称 列定义 【位置|位置】
注意:语法二的功能要比语法一大很多,因为语法二既可以更改列定义,由可以更改列名称
b、修改表名称:
语法一: alter table tbl_name rename[to|as] new_tbl_name
讲解:可以更改一张数据表名称
语法二:rename table tbl_name to new_tbl_name [,tbl_name2 TO new_tbl_namew]……
讲解:可以多表更改名称
一、修改列定义(改变age列的位置,使用modify)
| id | smallint(5) unsigned | NO | | 0 | |
| username | varchar(20) | NO | | NULL | |
| pid | smallint(5) unsigned | YES | | NULL | |
mysql> alter table city2 modify age tinyint unsigned NOT NULL after username;
Query OK, 0 rows affected (0.21 sec)//修改成功
| id | smallint(5) unsigned | NO | | 0 | |
| username | varchar(20) | NO | | NULL | |
| pid | smallint(5) unsigned | YES | | NULL | |
+----------+
----------------------
+------+
-----
+---------+
-------+
| id | smallint(5) unsigned | NO | | 0 | |
| username | varchar(20) | NO | | NULL | |
| age | tinyint(3) unsigned | NO | | NULL | |
4 rows in set (0.01 sec)
二、修改列类型(修改age列的储存类型,使用modify)
注意:由大类型改变成小类型的时候有可能造成数据的丢失
语句: alter table city2 modify age smallint unsigned NOT NULL;
解析:更改数据表city2 修改age列,类型:smallint,无符号,非空
mysql> alter table city2 modify age smallint unsigned NOT NULL;
Query OK, 0 rows affected (0.18 sec)//修改成功
mysql> show columns from city2;
+----------+
----------------------
+------+
-----
+---------+
-------+
| id | smallint(5) unsigned | NO | | 0 | |
| username | varchar(20) | NO | | NULL | |
| age | tinyint(3) unsigned | NO | | NULL | |
+----------+
----------------------
+------+
-----
+---------+
-------+
| id | smallint(5) unsigned | NO | | 0 | |
| username | varchar(20) | NO | | NULL | |
| age | smallint(5) unsigned | NO | | NULL | |
三、修改列名称(使用change改变列的名称和类型,使用change)
注意:change col_name 不仅仅可以修改列定义,还可以修改列的名称。
语法:alter table tab_name change[column] old_name new_name [first|after col_name]
解析:更改数据表某某,改变列 老列名 新列明 列定于【位置first|某列之后】
语法:alter table city2 change pid p
_id tinyint unsigned not null
解析:更改数据表city2 改变pid列 老名称:pid,新名称:p_
id,类型:tinyint ,无符号,非空。
mysql> alter table city2 change pid p
_id tinyint unsigned not null;
Query OK, 0 rows affected (0.20 sec)//修改成功过
mysql> show columns from city2;
+----------+
----------------------
+------+
-----
+---------+
-------+
| id | smallint(5) unsigned | NO | | 0 | |
| username | varchar(20) | NO | | NULL | |
| age | smallint(5) unsigned | NO | | NULL | |
+----------+
----------------------
+------+
-----
+---------+
-------+
| id | smallint(5) unsigned | NO | | 0 | |
| username | varchar(20) | NO | | NULL | |
| age | smallint(5) unsigned | NO | | NULL | |
4 rows in set (0.01 sec)
三、修改表名称
//可以更改一张数据表
1、alter table tbl_name rename[to|as] new_tbl_name
//可以为多张数据表修改名称
2、rename table tbl_name to new_tbl_name [,tbl_name2 TO new_tbl_namew]……
语句:show tables;
解析:查看数据库里有那些数据表
语句:alter table city2 rename city222;
解析:更改数据表名称tity2 更改为名称city222
| city |
| city1 |
| city2 |
| mm1 |
| mm2 |
| mm3 |
mysql> alter table city2 rename city222;
Query OK, 0 rows affected (0.07 sec)//修改成功
mysql> show tables;
+--------------+
| city |
| city1 |
| city2 |
| mm1 |
| mm2 |
| mm3 |
+--------------+
| city |
| city1 |
| city222 |
| mm1 |
| mm2 |
| mm3 |
方法二,多列改名
mysql> rename table city to city_1,city222 to city2;
Query OK, 0 rows affected (0.17 sec)//修改成功
mysql> show tables;
+--------------+
| city |
| city1 |
| city222 |
| mm1 |
| mm2 |
| mm3 |
+--------------+
| city1 |
| city2 |
| city_1 |
| mm1 |
| mm2 |
| mm3 |
| sheng |
+--------------+
目录一、修改列定义(modify col_name)二、修改列类型(modify col_name)三、修改列名称(change col_name)三、修改表名称(rename table a to b)用到的语句a、修改列定义和名称: 语法一:Alter table tbl_name modify[column] col_name [first|after col_name] 讲
mysql -uusername -ppassword 数据库名 < sql文件路径
演示样例:mysql -uroot -p12345678 test < /root/test.sql
2. 创建新数据导入
mysql -uroot -p12345678
2015.7.31使用ALTER TABLE 语句修改数据表
alter(改变) table语句可以更改数据表中的列、添加或删除约束,或者启用或禁用触发器,从而修改数据表的结构。
有关alter table语句的语法结构如下:alter table[database_name.[schema_name.|schema_name.]table_name]
alter column(列)
二、表的创建与管理
文章目录二、表的创建与管理(一)创建表语法格式列级完整性约束表级完整性约束例题:图书管理数据库表1.创建读者类型表“ReadType”2.创建读者表“Reader”3.创建图书表“Book”4.创建图书借阅表“Borrow”例题:教务管理数据库及表(二)修改表语法格式例题:图书管理数据库表0.使用数据库1.修改属性2.添加或删除列3.添加或删除约束(三)删除表语法格式例题:图书管理数据库表
(一)创建表
CREATE TABLE 表名
( 列名1 数据类型 列级完整性约束,
3、理解数据文件、事务日志文件、文件组的概念;
4、理解实体完整性、参照完整性和用户自定义完整性;
5、掌握 PRIMARY KEY 约束,FOREIGN KEY 约束,UNIQUE 约束CHECK 约束和 DEFAULT约束的使用。
1、创建数据库、修改数据库、删除数据库、数据库的分离与附加;
2、创建表、修改
使用 SHOW CREATE TABLE 语句,不仅仅可以返回给我们建表时所写的详细语句,而且还可以查看存储引擎和字符编码。
如果觉得返回的结果排版有点乱,加上\G后效果就会有所改善!
修改表名
ALTER TABLE。 语法规则为:ALTER TABLE 旧表名 RE
已知图书管理数据库中存在这样的一张表:
读者信息reader(kid char(11), kname char(10), ksex char(2), kage int ),
按要求完成下列操作:
写出创建reader表的命令。
create table reader
(kid char(11),
kname char(10),
ksex char(2),
kage int);
为r...
Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get
12270