增加数据(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=6 | false |
<>或!= | 不等于 | 5!=6 | true |
> | 大于 | 5>6 | false |
< | 小于 | 5<6 | true |
>= | 大于等于 | 5>=6 | false |
<= | 小于等于 | 5<=6 | true |
BETWEEN | 在某个范围之间 | BETWEEN 5 AND 10 | - |
AND | 并且 | 5>1 AND 5>2 | true |
OR | 或者 | 5>1 OR 6>7 | true |
删除语句(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类型数据用’'标记出来是不同的