本文章针对的数据表结构如下
+--------+------------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+------------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| name | varchar(30) | YES | | NULL | |
| age | tinyint(3) unsigned | YES | | 0 | |
| high | decimal(5,2) | YES | | NULL | |
| gender | enum('男','女','保密') | YES | | 保密 | |
+--------+------------------------+------+-----+---------+----------------+
---增加
全列插入
insert into students values(1,"老王",18,180.00,"男");
注意:对于自增长的字段和枚举类型的字段上面的sql语句可以用下面语句代替
insert into students values(0,"老王",18,180.00,1);
insert into students values(null,"老王",18,180.00,1);
insert into students values(default,"老王",18,180.00,1); 性别字段1代表枚举元素中的第一个
部分插入
insert into students (name,gender) values ("小明","男");
注意:在部分插入时,没有被插入的字段有默认值则会自动插入默认值,如上面的age字段,如果没有默认值,则会插入空值null,如上面的high字段。
部分多行插入
insert into students (name,gender) values ("小明","男"),("小明","男"),("小明","男");
全列多行插入
insert into students values(null,"老王",18,180.00,1),(null,"老王",18,180.00,1);
修改数据
update students set age = 20 where name = "小明";
删除数据
delete from students where name = “小明”;
注意:删除表数据时自增涨数不会改变, 即下一个自增长数为17。
如果要修改自增长值为19。
ALTER TABLE students AUTO_INCREMENT = 19;
如果表中已经存在大于19的数,则重新设置自增长初始值不可以低于20。