数据操作语言(DML) :SQL的分类之一,命令使用户能够查询数据库以及操作已有数据库中的数据的计算机语言。简单的说就是用来 操作数据 ,还有DDL(Data Definition Language)数据定义语言 和 DCL(Data Control Language)数据控制。
这里我们主要讨论数据操作语言DML。
包括:INSERT插入、UPDATE更新、DELETE删除。注意,select语句属于DQL(Data Query Language)。 用户通过它可以实现对数据库的基本操作。在DML中,主要对数据进行增 、删、 改 的操作。
插入操作:INSERT
语法1: insert into 表名(列名1,列名2 ...) values(列值1,列值2...); 语法2: insert into 表名 values(列值1,列值2....); 语法3: insert into 表名 set 字段名1=值1,字段名2=值2, ..... ; 注意: 列名与列值的类型、个数、顺序要一一对应。 可以把列名当做java中的形参,把列值当做实参。 参不要超出列定义的长度。 如果插入空值,请使用null插入的日期和字符一样,都使用引号括起来。
例如: 1, 创建一张学生表: create table t_stu( id int primary key, name varchar(100), sex varchar(10), birthday date, class varchar(10) ); 2, 插入学生 insert into t_stu values(1,'张三','男','2004-05-06','高一五班'); insert into t_stu values(2,'李四','女','2003-08-16','高二一班'); insert into t_stu values(3,'张三','男','2005-05-06','高一三班'); insert into t_stu values(4,'张三','男','2001-05-06','高三六班'); insert into t_stu values(5,'张三','男','2002-05-06','高二一班');
执行结果:
修改操作:update
语法: update 表名 set 列名1=列值1,列名2=列值2 ...[where条件] [order排序] [limit限定]; 1、以“行”为单位进行,可以指定只更新其中的部分字段。 2、where条件子句,在应用中,几乎必须有。 3、order排序子句通常不需要,用于将要更新的数据指定更新的顺序。 4、limit限定子句通常不需要,用于将要更新的数据的指定顺序去更新部分(局部)数据,比如:前500行。 5、字段的值可以是表达式,或直接值,或函数,如果是直接值,同样遵循insert语句中的值的写法。 例:update t_stu set name='李四' where sex='女';
修改: 将所有学生姓名修改为张三。 update t_stu set name='张三'; 将性别为女的员工的班级改成高一二班 update t_stu set class='高一二班' where sex='女';
删除操作:DELETE:
语法 :delete 表名 【where 列名=值】 delete 删除表中的数据,表结构还在; 删除后的数据可以找回 truncate 删除是把表直接drop掉,然后再创建一个同样的新表。 删除的数据不能找回。执行速度比delete快。 练习 :删除表中名称为sex='女'的记录。 delete from t_stu where sex='女'; 删除表中所有记录。 delete from t_stu; 使用truncate删除表中记录。 truncate table t_stu;
这些都是DML中简单的一些语法。