MySQL三---表的增删改查
一、表的增删改查(CRUD):
(1)
a、插入数据,插入数据时,类型要匹配,插入的值应该在类型的范围内:
b、数据类型太长会被截断:
c、插入数据时,期望的位置和表的位置不一样,所以在插入数据时,应该和对应的位置对应起来
(2)指定列,插入时指定列,值和列的值对应起来,也可以只指定要插入的列
a、指定列的值和value的数量是对应的,下述会产生问题:
b、对于隐含列,列的数量应该和value的值对应。即有多少个列则给定多少个value
优先使用指定列,比较清楚。
c、批量插入,使用指定列的方式
d、类型是char、varchar、时间类型的,他们的值需要用单引号引起来。
e、插入空值
f、主键重复的处理:更新处理和替换处理
g、主键重复,进行更新: duplicate key update
2‘、repalce关键字,主键冲突后,用现在的值把原来的值替换掉
2、修改/更新
(1)修改所有的表项:
(2)修改满足条件的语句
(3)参与运算的数值表达式的更新
(4)limit限制改几条记录,但是不能随便更改一个不确定的值。
3、删除,
A、delete(属于DML中的内容,针对数据,它的删除不会对表的结构造成影响)
(1)删除语句不加where选项,数据清空了,表结构仍然存在
(2)加上where语句
(3)复制一个和原表类似的表
(4)复制表的结构:insert into goods2 select * from goods;把原表中的内容找到后放到新表中去
备份的数据库服务器上,并没有备份到某一个文件上
(4)将备份的数据还原
B、truncate:不加where子句清空表数据的另一种形式
也不会清除表结构、只是清除了表数据
c、truncate和delete的区别:truncate这种方式不会告诉我们具体删了多少条记录,都返回0;delete可以控制where语句,控制删除哪些满足条件的记录。删除指定的记录时,使用delete;
delete ……from……会告诉我们删除了多少条记录,简单的删除表中的数据;
相同点:都是删除表中的数据,不会对表的结构造成影响。
d、drop删除表的结构
e、若是要删除一个表中一列的数据(修改表的方式找到列):
原先表中price的这一列被删除了
3、查询select:
a、*代表展示所有的列;但是*是一个低效的操作
b、查询单个列:
c、查询多个列: