添加数据
【例子:向student表中添加一条新记录,记录中id字段的值为1,name字段的值为‘zhangsan’,grade字段的值为98.5。】
按照题目要求先创建好数据库以及表,表建好后在添加数据。
一、为表中所有字段添加数据
1、INSERT语句中指定所有字段名
基本语法:INSERT INTO 表名(字段名1,字段名2,……)
VALUES(值1,值2,……);
SQL语句如下:
INSERT INTO student(id,name,grade)
VALUES(1,'zhangsan',98.5);
执行结果如下:
注意:使用INSERT语句添加记录时,表名后的字段顺序可以与其在表中定义的顺序不一致,它们只需要与VALUES中值的顺序一致即可。
【向student表中添加一条新记录,记录中id字段的值为2,name字段的值为‘lisi’,grade字段的值为95。】
SQL语句如下:
INSERT INTO student(name,grade,id)
VALUES('lisi',95,2);
执行结果如下:
2、INSERT语句中不指定字段名
基本语法:INSERT INTO 表名 VALUES(值1,值2,……);
在上述格式中,“值1,值2,……”用于指定要添加的数据。
【向student表中添加一条新记录,记录中id字段的值为3,name字段的值为‘wangwu’,grade字段的值为61.5。】
SQL语句如下:
INSERT INTO student
VALUES(3,'wangwu',61.5);
执行结果如下:
注意:由于INSERT语句中没有指定字段名,添加的值的顺序必须和字段在表中定义的顺序相同。
二、为表的指定字段添加数据(为表的指定字段添加数据,就是在INSERT语句中只向部分字段中添加值,而其他字段的值为表定义时的默认值。)
基本语法:INSERT INTO 表名(字段1,字段2,…)
VALUES(值1,值2,…);
上述语法格式中,“字段1,字段2,…”表示数据表中的字段名称,此次只指定表中部分字段的名称。“值1,值2,……”表示指定字段的值,每个值的顺序、类型必须与对应的字段相匹配。
【向student表中添加一条新记录,记录中id字段的值为4,name字段的值为“zhaoliu”,grade字段不指定值,】
SQL语句如下:
INSERT INTO student(id,name)
VALUES(4,'zhaoliu');
执行结果如下:
注意:如果某个字段在定义时添加了非空约束,但没有添加default约束,那么插入新记录时就必须为该字段赋值,否则数据库系统会提示错误。
【向student表中添加一条新记录,记录中id字段的值为5,grade字段的值为97,name字段不指定值】
SQL语句如下:
INSERT INTO student(id,grade)
VALUES(5,97);
执行结果如下:
执行结果可以看出,执行INSERT语句时发生了错误,发生错误的原因是name字段没有指定默认值,且添加了非NULL约束。
为指定字段添加数据时,指定字段也无需与其在表中定义的顺序一致,它们只要与VALUES中值的顺序一致即可。
【向student表中添加一条新记录,记录中name字段的值为‘sunbin’,grade字段的值为55,id字段不指定值】
SQL语句如下:
INSERT INTO student(grade,name)
VALUES(55,'sunbin');
执行结果如下:
三、同时添加多条记录
基本语法:
【向student表中添加三条新记录】
SQL语句如下:
执行结果如下:
注意:在添加多条记录时,可以不指定字段列表,只需要保证VALUES后面跟随的值列表依照字段在表中定义的顺序即可。
和添加单条记录一样,如果不指定字段名,必须为每个字段添加数据,如果指定了字段名,就只需要为指定的字段添加数据。
【向student表中添加三条新记录】
SQL语句如下:
执行结果如下:
更新数据
MySQL中使用UPDATE语句来更新表中的记录。
基本语法:UPDATE 表名
SET 字段名1 = 值1[,字段名2 = 值2,……]
[WHERE 条件表达式]
在上述语法格式中,“字段名1”,“字段名2”用于指定要更新的字段名称,“值1”,“值2”用于表示字段更新的新数据。“WHERE条件表达式”是可选的,用于指定更新数据需要满足的条件。
1、UPDATE更新部分数据(更新部分数据是指根据指定条件更新表中的某一条或者某几条记录,需要使用WHERE子句来指定更新记录的条件。)
【更新student表中id字段值为1的记录,将记录中的name字段的值更改为‘caocao’, grade字段的值更改为50。】
SQL语句如下:
UPDATE student
set name='caocao',grade=50
WHERE id=1;
执行结果如下:
如上述结果看到,如果表中有多条记录满足WHERE子句中的条件表达式,则满足条件的记录都会发生更新。
【更新student表中id字段值小于4的记录,将这些记录的grade字段值都更新为100。】
SQL语句如下:
UPDATE student
SET grade=100
WHERE id<4;
执行结果如下:
2、UPDATE更新全部数据(在UPDATE语句中如果没有使用WHERE子句,则会将表中所有记录的指定字段都进行更新。)
【更新student表中全部11条记录,将grade字段值都更新为80】
SQL语句如下:
UPDATE student
SET grade=80;
执行结果如下:
删除数据
MySQL中使用DELETE语句来删除表中的记录
基本语法:
在上面的语法格式中,“表名”指定要执行删除操作的表,WHERE子句为可选参数,用于指定删除的条件,满足条件的记录会被删除。
1、DELETE删除部分数据(删除部分数据是指根据指定条件删除表中的某一条或者某几条记录,需要使用WHERE子句来指定删除记录的条件。)
【在student表中,删除id字段值为11的记录。】
SQL语句如下:
DELETE FROM student
WHERE id=11;
执行结果如下:
在执行删除操作的表中,如果有多条记录满足WHERE子句中的条件表达式,则满足条件的记录都会被删除。
【在student表中,删除id字段值大于5的所有记录。】
SQL语句如下:
DELETE FROM student
WHERE id>5;
执行结果如下:
2、DELETE删除全部数据(在DELETE语句中如果没有使用WHERE子句,则会将表中的所有记录都删除。)
【删除student表中的所有记录。】
SQL语句如下:
执行结果如下: