认真学SQL——MySQL入门之DML操作表中记录

DML对表进行数据操作-知识点:

-- 操作库的前提: 先启动mysql,并连接它
-- 创建day02库
create database day02;
-- 使用day02库
use day02;

-- 操作表的前提: 先创建库,并使用它
-- 创建表
create table students(
    id int,
    name VARCHAR(100),
    age int
);

操作数据的前提: 先有表,并有对应字段

插入数据记录: insert into 表名 (字段名...) values (具体值...) , (具体值...) ...;
     注意1: 具体值要和前面的字段名以及顺序一一对应上
    注意2: 如果要插入的是所有字段,那么字段名可以省略(默认代表所有列都要插入数据)
            注意3: 如果要插入多条记录,values后多条数据使用逗号分隔

-- 增加数据

插入1条数据

insert into students (id,name,age) values (1,'张三',18);
insert into students values (2,'李四',28);

插入多条数据

insert into students (id,name,age) values (1,'张三',18),(2,'李四',28);
insert into students values (3,'王五',38),(4,'赵六',48);

-- 删除数据

删除数据记录: delete from 表名 [where 条件];
        注意: 如果没有加条件就是删除所有数据

delete from students where name = '张三';

注意: 如果不加条件就会删除所有数据(慎用)
delete from students ;

-- 清空所有数据:
    方式1: delete from 表名;   注意:此方式有警告,删完之后会继承顺序
    方式2: truncate [table] 表名;  注意: 此方式没有警告,删完之后不会继承顺序
-- truncate经常用于清空所有数据
truncate  students;

delete和truncate的区别?
共同点: 都能删除表中所有数据
不同点:
        delete删除所有数据: 自增顺序保留,下次再插入的时候继续自增
        truncate删除所有数据: 自增顺序重置,下次再插入数据的时候从1重新开始自增

delete删除所有数据: 自增顺序保留,下次再插入的时候继续自增
delete from stu3; -- 系统警告2次(慎用)

如果再次插入数据,自增顺序按照删除前最后值继续
insert into stu3(name, age) VALUES ('王五',38);
insert into stu3(name, age) VALUES ('王五',38);
insert into stu3(name, age) VALUES ('王五',38);

truncate删除所有数据: 自增顺序重置,下次再插入数据的时候从1重新开始自增
truncate stu3; -- 没有警告(慎用)如果真要清空所有数据建议用truncate

如果再次插入数据,自增重新从1开始自增
insert into stu3(name, age) VALUES ('王五',38);
insert into stu3(name, age) VALUES ('王五',38);
insert into stu3(name, age) VALUES ('王五',38);

--修改数据

修改数据记录: update 表名 set 字段名=值 [where 条件];
            注意: 如果没有加条件就是修改对应字段的所有数据

update students set age = 19 where name = '张三';

注意: 如果不加条件就会修改所有数据(慎用)
update students set age = 19;

你可能感兴趣的:(sql,mysql,数据库)