SQL语句进阶学习四
- 数据插入
- 1)insert关键字
- 2)插入完整行
- a.方法一:完整插入每个字段的数据,存在空值以null代替。
- b.方法二:选择性插入字段值。未选择插入的字段插入null值。
- 4)插入多行数据
- a.方法一:使用两条insert语句,一起提交。中间以;号隔开。
- b.方法二:每一组值以()括号隔开,中间以,号隔开。
- 6)插入检索出来的数据:即将检索出来的数据插入表格中。
- 更新数据
- 1)使用update语句,注意update语句一定要使用where语句,否则就是更新表中的所有行。一定要确定更新条件。
- 2)基本使用
- 3)使用子查询进行更新
- 4)ignore关键字
- 5)使用update语句逻辑删除数据
- 删除数据
- 1)使用delete关键字,注意delete语句一定要带where子句,否则就是删除表中的所有行。一定要确定删除条件。
- 2)基本使用
- 3)更快的删除:使用truncate table语句。删除表中的所有的行。
- 更新和删除数据的指导原则
- 表的创建
- 1)使用create table语句
- 2)使用
- 3)指定默认值
- 4)引擎类型
- 5)更新表格
- 1.增加表格列
- 2.删除表格列
- 删除表
- 重命名表格
数据插入
1)insert关键字
2)插入完整行
a.方法一:完整插入每个字段的数据,存在空值以null代替。
insert语句不会产生任何的返回。第一个null值为id值,为自动增长。
b.方法二:选择性插入字段值。未选择插入的字段插入null值。
1.其中id值为自动增长类型,无需对其进行赋值。
2.当字段列中,允许使用null值时,不插入字段值就以null代替。
3.当字段列中,有默认值时,不插入字段值就以默认值代替。
4.当字段列中,未设置允许使用null值且未设置默认值,而字段值又未插入,则会报错。
5.当多个用户访问数据库时,可能需要对操作进行优先级排序。使用low_priority降低insert语句的优先级。insert low_priority into
4)插入多行数据
a.方法一:使用两条insert语句,一起提交。中间以;号隔开。
b.方法二:每一组值以()括号隔开,中间以,号隔开。
insert into customers(cust_name,cust_address,cust_city,cust_state,cust_zip,cust_country) values('Pep E','100 Main Street','Los Angeles','CA','90046','USA'),
(‘M.Martian’,‘42 Galaxy Way’,‘New York’,‘NY’,‘11213’,‘USA’);
这种方式可以提高insert语句的性能,因为插入单条insert语句比插入多条insert语句快。
6)插入检索出来的数据:即将检索出来的数据插入表格中。
insert into customers (name) select name from new_customers where id = 9;
语句由insert into和select语句共同组成。这条语句插入多少行取决于select语句检索出多少行。当检索出来的结果为空,语句也不会发生错误,表示没有行插入。
更新数据
1)使用update语句,注意update语句一定要使用where语句,否则就是更新表中的所有行。一定要确定更新条件。
2)基本使用
where语句对更新条件进行过滤,否则就是对整列进行过滤。
3)使用子查询进行更新
update t_right set name = (select name from t_fenshu where id = 11) where id = 5;
更新的数据由select语句提供。
4)ignore关键字
当update语句更新多行数据时,有一行或者多行发生错误,则整个update更新语句取消。使用update语句则可以即使发生错误,仍然继续进行更新操作。
update ignore table set…
5)使用update语句逻辑删除数据
删除数据
1)使用delete关键字,注意delete语句一定要带where子句,否则就是删除表中的所有行。一定要确定删除条件。
2)基本使用
delete删除是特定行,若要删除整列,则要使用update语句。
3)更快的删除:使用truncate table语句。删除表中的所有的行。
更新和删除数据的指导原则
1.where过滤条件时,尽量使用主键过滤。
2.在使用update和delete语句前,先使用select语句对其过滤条件进行核查是否正确。
3.使用update和delete语句必须带有where子句。
表的创建
1)使用create table语句
2)使用
1.每个表中,只允许有一个auto_increment的列,而且这个列必须被索引。
2.当新增一条数据,不知道主键是多少时,可以使用select last_insert_id()函数获得新增的id值。
3)指定默认值
create table customes (cust_id int not null auto_increment,quantity int not null default 1)
对指定列quantity设置默认值1。
4)引擎类型
1.使用engine = 语句对其引擎类型进行选择。
5)更新表格
1.增加表格列
2.删除表格列
对表格进行增删列时,先对原有表格数据备份。
删除表
重命名表格