《SQL必知必会》(17):创建和操纵表

上回说到:《SQL必知必会》(15、16):插入数据、更新和删除数据

之前我们说过的都属于 DML

SQL语句的类型 :
DML(Data Manipulation Language) ,数据操作语言。 insert delet update select
DDL(Data Definition Languages) ,数据定义语言。 create truncate alter table
DCL(Data Control Language), 数据控制语言。 grant revoke

接下来我们开始说,DDL,数据定义语言


第十七课:创建和操纵表

17.1 创建表

在我们的实际应用中,很少用到 使用SQL语句,对表进行操作了,大多数的DBMS都有相应的可视化界面,可以直接操作。


现在我们需要用程序,也就是SQL语句来实现。

17.1.1 表创建基础

create table,必须给出以下信息:

  • 新表的名字
  • 表列的名字和定义,用逗号分隔
CREATE TABLE Products (
	prod_id CHAR ( 10 ) NOT NULL,
	vend_id CHAR ( 10 ) NOT NULL,
	prod_name CHAR ( 254 ) NOT NULL,
	prod_price DECIMAL ( 8, 2 ) NOT NULL,
	prod_desc VARCHAR ( 1000 ) NULL 
);

还有很多创建表的例子,可以查看附录中:附录
注意,表名不能重复。

17.1.2 使用NULL值

null值就是没有值,在新建表时,可以指定 not null ,如上例。
只有不允许null的列,才可以作为主键。
null是没有值,而不是空字符串,如果空字符串是' ',要注意。

17.1.3 指定默认值

SQL允许指定默认值,再插入时 如果没有赋值,DBMS将采用默认值。在create table时,用关键字default指定,跟在not null 后就好,属于列的内容。

17.2 更新表

  • 尽量不要修改表,尤其是在有数据的时候,应该在设计表示,充分考虑好所有的情况。尽量不要修改。
  • 有些DBMS不允许修改或删除列。
  • 有的限制修改或删除 有数据的列,对没有数据的不限制。

综上,能不改就不改。

语法:

ALTER TABLE Vendors DROP COLUMN vend_phone;
# 删除就是drop 添加就是 add

使用之前,记得备份!!!!

17.3 删除表

drop table CustCopy; 

语法很简单,但是跟delete不同,delete可以rollback,drop不可以,所以 备份!!!

17.4 重命名表

DBMS之间差别较大,由于MySQL较为常用(其实是我在用),我们就基于Mysql来举例。

rename table table1_ altered to table;

17.5 小结

主要介绍了 create table,alter ,drop。
注意,这些操作都不可撤销,所以要小心执行,在执行前,记得备份~~!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bruce.vvu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值