SQL基础教程-1章3节:数据库表的修改与删除
发布网友
发布时间:2024-10-01 14:01
我来回答
共1个回答
热心网友
时间:2024-10-22 15:17
视频教程地址: ixigua.com/720263475269...
表的删除
先从简单的开始吧,表的删除很简单,跟库的删除语法比较相似,使用drop table。
这里要注意,表删除后不可恢复,所以删除表时一定要小心。根据以往的经验,真正的线上数据,程序员们一般都不会使用drop或delete这样的操作来删除数据或表的。
表的修改
这里表的修改指的是表结构的修改,上一节我们学习了创建表的语法,主要是在表中定义各列,我们称表的这个定义为表结构。表修改主要修改的就是表结构中的各列定义。
表结构的修改也是老三样,包括增、删、改。
1、增加列
语法为:
ALTER TABLE table_name ADD COLUMN new_column_name column_definition;
这里的COLUMN是可以省略的,给个示例:
也可以一次添加多列,每列以英文逗号分隔
2、删除列
删除列比较简单,也是使用drop,到目前为止,drop已经可以删除三类内容了,库、表、列。
操作语法为:
ALTER TABLE table_name DROP COLUMN column_name;
给一个示例:
3、修改列
修改列使用alter,跟修改表用的是同一个操作,不过它要增加一个column。修改列的语法也比较简单,麻烦的地方实际上还是列的定义,所以在上一节表的创建中要把列的定义学好一些。
修改列的语法为:
ALTER TABLE table_name ALTER COLUMN column_name TYPE column_definition;
给一个示例
有没有发现一个问题,列的类型变了,那列中原有的数据怎么办呢?数据库会尝试对数据进行数据类型转换,如果转换不成功,则会报错,一般情况下有以下几种转换:
(1)数字转字符串,可以;
(2)字符串转数字,不可以;
(3)字符串长度变化,或者char和varchar互转,这要看表中已有字符长度是否可以转;
(4)数字类型之间转换,按四舍五入执行;
尽管数据库已经尽量保证我们的数据安全了,但修改列的定义时也是慎重,可能会导致数据精度丢失的哦。
修改列也可以一个语句操作多列,各列以逗号分隔,如:
4、对列重全名
如果某个列只是列名有变,那可以使用rename column ... to ...操作,这样可以节省重写列的复杂的定义。
语法为:
ALTER TABLE table_name RENAME COLUMN old_name TO new_name;
给一个实例:
5、对列的各个操作可以混全使用吗?
alter、 add和drop column是可以混用的。
表的重全名
有时候一个表只是表名定义的不对,或者起把表名换换,可以有什么方便的方法吗?有的,也是使用rename to ..,很方便的。
语法为:
ALTER TABLE table_name RENAME TO new_table_name;
如:
简单了解一下插入数据
插入数据的详细语法在后面的教程中会详细讲解,为了方便表内有数据操作,我们先简单接触一下插入,了解一下最基本的数据插入方法。
先看个实例,根据实例来讲解一下:
(1)BEGIN TRANSACTION
这是一个DCL,控制语言,用于开始一个事务,数据库中所谓事务,就是指一组操作,这组操作有个特点,要么全部成功,要么全部失败,整个组是一个整体,同进同退。
(2)INSERT INTO
INSERT INTO是插入关键字,以空格分割;后跟表名proct;再后跟上VALUES关键字,表示后面括号内的是各列要插入的内容。注意,这里各列并不需要是全部列,但是有顺序的,按从前到后的顺序进行插入;
(3)COMMIT
事务提交关键字,表示把上边两个插入语句一块儿提交;还有一个ROLLBACK关键字,表示撤销事务。
(4)另说明
事务的声明不是必须的,如果只有一各语句,可以不用写BEGIN TRANSACTION,因为一个语句默认就是按事务执行的。
练习题答案
1、创建表语句
2、添加列
3、删除表
4、恢复表
表没有备份,删除后是无法恢复的。
修改列的约束
修改列的常见约束的方法:
视频教程地址
视频教程地址: ixigua.com/720263475269...
【下一节】 SQL基础教程-2章1节:SELECT查询语句基础 - 知乎 (hu.com)
知乎个人主页地址: hu.com/people/yu1949...