DML(数据库操作语言)-增删改

增加数据(INSERT)

  • 语法:
INSERT INTO 表名[(字段1,字段2,字段3,...)] VALUES('值1','值2','值3');

注意:

  • 字段或者值之间用英文逗号隔开
  • 字段1,字段2…该部分可以省略,但调价的值务必与表结构,数据列,顺序相对应.且数量一致
  • 可同时插入多条数据,values后用英文逗号隔开.
# 使用语句如何增加语句?
# 语法 : INSERT INTO 表名[(字段1,字段2,字段3,...)] VALUES('值1','值2','值3')
INSERT INTO grade(gradename) VALUES ('大一');

主键自增,那能否省略呢?
INSERT INTO grade VALUES ('大二');

# 查询:INSERT INTO grade VALUE ('大二')错误代码: 1136
# Column count doesn`t match value count at row 1

# 得出结论:'字段1,字段2...'该部分可省略 , 但添加的值务必与表结构,数据列,顺序相对应,且数量一致.

改为如下依旧会报错(加了逗号前面的序号依旧省略),INSERT INTO grade VALUES (,'大二');

# 一次插入多条数据
INSERT INTO grade(gradename) VALUES ('大三'),('大四');

修改数据(UPDATE)

  • 语法:
UPDATE 表名 SET column_name=value [,column_name2=value2,...] [WHERE condition];

解释:

  • column_name为要更改的数据列
  • value为修改后的数据,可以为变量,具体指,表达式或者嵌套的SELECT结果
  • condition为筛选条件,如不指定则修改该表的所有列数据

注意: 修改语句同增加语句相同,都可以进行多条修改,但数据类型需一一对应

WHERE条件语句

可以理解为:选中哪里的那些符合条件

运算符含义示范结果
=等于5=6false
<>或!=不等于5!=6true
>大于5>6false
<小于5<6true
>=大于等于5>=6false
<=小于等于5<=6true
BETWEEN在某个范围之间BETWEEN 5 AND 10-
AND并且5>1 AND 5>2true
OR或者5>1 OR 6>7true

删除语句(DELETE、TRUNCATE)

DELETE语句
语法:

DELETE FROM 表名 [WHERE condition];

解释:

  • condition为筛选条件,如不指定则删除该表的所有列数据;

TRUNCATE

  • 语法:
TRUNCATE [TABLE] table_name;

解释:

  • 用于完全清空表数据,但表结构,索引,约束不变;

两者之间的异同:

  • 相同:都能删除数据,不删除表结构,TRUNCATE速度更快
  • 不同:
        - 使用TRUNCATE TABLE 重新设置AUTO_INCREMENT计数器
        - 使用TRUNCATE TABLE不会对事物有影响;

综合测试

#创建一个表
CREATE TABLE `school_table`(
	`id` INT(10) NOT NULL AUTO_INCREMENT COMMENT '序列号',
	`name` VARCHAR(20)  NOT NULL DEFAULT '匿名' COMMENT '姓名',
	`pwd` VARCHAR(15) NOT NULL DEFAULT '123456' COMMENT '密码',
	PRIMARY KEY(`id`)
);ENGINE=INNODB DEFAULT CHARSET=utf8
#插入数据
INSERT INTO school_table(`id`,`name`,`pwd`) VALUES(1,'杨过','123');
#修改数据
UPDATE `school_table` SET `name`='小龙女' WHERE id=1;
#使用delete删除表数据
DELETE FROM `school_table` ;
#使用truncate删除表数据
TRUNCATE TABLE `school_table`;
#删除表
DROP TABLE `school_table`;
#删除数据库
DROP DATABASE `myschool`;

解释:
创建表:

  • 三个字段,id,name,pwd,

  • id属性为int,长度为10,不可为空,自动增长,备注为序列号

  • name字段属性为varchar,长度为20,不可为空,若没有添加,默认为匿名,备注为姓名

  • pwd字段属性为varchar,长度为15,不可为空,若没有添加,默认为123456,备注为密码

  • 最后设置id为该表的主键,表类型为InnoDB,字符为utf-8格式
    在这里插入图片描述
    插入数据:

  • 对一个表中的三个字段同时添加了数据

在这里插入图片描述
修改数据:

  • 修改了表中id为1的name属性为小龙女
    在这里插入图片描述

删除数据:

  • delete: 删除表中的数据
    在这里插入图片描述
  • truncate:删除表中的数据,并使自增计数器重置,表结构,索引,约束不变
    在这里插入图片描述
    注意:在编写数据库命令时,在数据库名、表名、字段名,有时候会和数据库的关键字重合,为了区分,所以需要使用反引号`(esc下面的那个键)符号将名字标记出来,这和value中的varchar类型数据用’'标记出来是不同的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值