项目四 完成学生信息的持久化存储
1,向表中添加新数据
1,第一种部分字段添加数据。
insert into 表名(字段名1,字段名2,字段名n) values(值1,值2,值n)
若表中某一字段为主键,则在插入时不能插入重复值, 否则会报错
#Student表插入部分数据
mysql> insert into Student(StuID,StuName,StuSex,StuBirthday,Native) values('150101','张林浩','男','1997-01-12','河北保定');
mysql> select * from Student;
+--------+-----------+--------+-------------+--------------+----------+-----------+---------+
| StuID | StuName | StuSex | StuBirthday | Native | National | Telephone | ClassID |
+--------+-----------+--------+-------------+--------------+----------+-----------+---------+
| 150101 | 张林浩 | 男 | 1997-01-12 | 河北保定 | NULL | NULL | NULL |
+--------+-----------+--------+-------------+--------------+----------+-----------+---------+
#如果添加的值为字符型变量,则应用单引号引起来。(数据可以与表的顺序不一样,但是插入时字段要与字段名对应)
2,第二种所有字段添加数据
#写法一:(插入顺序可以不同) insert into 表名(字段名1,字段名2,字段名n)values(值1,值2,值n) #写法二:(插入顺序必须相同) insert into 表名 values(值1,值2,n)
3,从已有的表中查询数据并插入到新表中
(1)从一个表中导入全部字段到新表中:要求是两个表的字段相同。
#格式:
insert into 目标表
select * from 来源表;
(2)将一个表中指定字段的值导入到新表
#如果只希望导入指定字体的值,则只需要在 insert 语句后面写明待导入字段名即可。
insert into 目标表 字段名 1,字段名 2,......字段名 n
select 字段名 1,字段名 2,......字段名 n from 来源表
2,按条件修改表中的部分数据
#update语句格式
update 表名
set 字段名 1=值 1,字段名 2=值 2,......
where 条件
3,按条件删除表中错误或者失效数据
(1)删除记录可以使用 delete 语句或 truncate 语句。
#使用delete删除所以数据(只是删除数据,但表结构还在)
delete from 表名;
#使用delete删除部分数据(其中条件是逻辑表达式,可以用’=’、’ <’、’ >’ 等操作符)
delete from 表名
where 条件;
#使用truncate删除数据
truncate table 表名;
(2)delete 语句、truncate 语句、drop table 语句的区别
- delete 语句:可删除部分或全部数据,但可从日志中恢复。执行后表结构还在。
- truncate 语句:不加where语句时和delete语句一样,但比delete语句快。执行后表结构还在。
- drop 语句:删除整张数据表。