SQL之增删查改操作

1.数据插入

1、插入完整或部分的行

INSERT INTO table
VALUES ('001','china','111',NULL);

上面这种方式需要数据按照列在表中的顺序添加,没有值要用NULL填充。
但是我们最好不要采用这种方式,因为这高度依赖表中列的次序,即使次序知道也不能保证次序不会修改。

我们最好用下面的方式
INSERT INTO table (id, add, num, price)
VALUES (‘001’,‘china’,‘111’,NULL);
在表名字后面指定列名,顺序和value一一对应,这样就不会产生错误。

同时,我们可以插入部分列,省略某些列。但要注意,省略的列是允许有NULL值或者有默认值的,不然省略它们会产生错误。

2.插入检索的数据
INSERT还可以用来将SELECT语句的结果插入表中,比如我们想将table2的数据插入到table1中,前提是这两个表的列结构要相同。且主键不能有相同的值,不然会出现错误。


INSERT INTO table1(lie1,lie2,lie3)
SELECT lie1,lie2,lie3
FROM table2
where .....;

2.更新删除数据(UPDATE,DELETE)
举个例子,将id为001的顾客的电子邮件改为1111,名字改为wang;

UPDATE table
SET email='1111',name='wang'
where id='001';

注意where子句使用要谨慎,没有where子句会导致表中所有邮件都会被改成1111。当然,可以修改多处,只要加lie=xxx就可以,SET只需要一个;

DELETE不需要指定列名或通配符,因为它是删除指定行或者所有行。比如

DELETE FROM table
where id='001';

这将删除id是001的顾客这一行信息。如果没有where过滤,将删除所有行,所以谨慎使用delete。
删除所有行指的是删除数据,表结构本身并没有删除。
如果想要删除所有信息,用truncate table 表名更快,因为它不扫描表,不记录数据变动
如果想要这个表结构也删除,使用drop table 表名;

4、表的创建更新和删除
例子
创建表关键字CREATE

CREATE TABLE table1
(
id char(10) NOT NULL,
name char (200) ,
price decimal(8,2) NOT NULL default 0;
);

创建表时用圆括号指定列名,数据类型,是否允许空值,默认值。NULL是默认的,如果要把一个列当主键,那么必须指定这列NOT NULL,主键不允许有空值。

更新表关键字ALTER
表的更新和UPDATE更新不同,ALTER更新的是表的结构,比如增加删除列,增加删除约束,键等。

ALTER TABLE table
ADD phone char(20);

ALTER TABLE table
DROP COLUMN phone;

使用ALTER应小心,表的修改是不能撤销的,比如数据丢失等情况会发生。最好提前备份原表。

删除表很简单: DROP TABLE 表名;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值