DML(数据操作语言,它是对表记录的操作(增,删,改)!)
1.插入数据
*INSERT INTO 表名(列名1,列名2,...) VALUES(列值1,列值2,...);
>在表名后给出要插入的列名,其他没有指定的列等同于插入null值,所以插入记录总是插入一行,不可能是半行。
>在VALUES后给出列值,值的顺序和个数必须与前面指定的列对应。
*INSERT INTO 表名 VALUES(列值1,列值2,...);
>没有给出要插入的列,那么表示插入所有列。
>值的个数必须是该表列的个数。
>值的顺序,必须与表创建时给出的列的顺序相同。
//插入所有列 INSERT INTO stu(id, name, age, gender )VALUES( 'ITCAST_0001', 'zhangSan', 28, 'male'); //插入部分列,没有指定的列默认为NULL INSERT INTO stu(id, name )VALUES( 'ITCAST_0001', 'zhangSan'); //不给出插入列,那么默认为插入所有列!值的顺序要与创建表时列的顺序相同 INSERT INTO stu VALUES( 'ITCAST_0001', 'zhangSan', 28, 'male');
2.修改数据
*UPDATE 表名 SET 列名1=列值1,列名2=列值2,...[WHERE 条件]
*条件(条件可选的):
>条件必须是一个boolean类型的值或表达式:UPDATE t_person SET gender='男', age=age+1 WHERE sid='1';
>运算符:=、!=、<>、>、<、>=、<=、BETWEEN...AND、IN(...)、IS NULL、NOT、OR、AND
//将age等于18的数据中的gender改为male UPDATE stu SET gender='male' WHERE age=18;
3.删除数据
*DELETE FROM 表名 (WHERE 条件);
*TRUNCATE TABLE 表名:TRUNCATE是DDL语句,它是先删除drop该表,再create该表,而且无法回滚!
//删除id等于ITCAST_0001的数据 *DELETE FROM stu WHERE id='ITCAST_0001';