day03-MySQL基础知识02

打印 上一主题 下一主题

主题 900|帖子 900|积分 2700

MySQL基础知识02

4.CRUD

数据库CRUD语句:增(create)、删(delete)、改(update)、查(Retrieve)

  • Insert 语句 (添加数据)
  • Update 语句(更新数据)
  • Delete 语句(删除数据)
  • Select 语句 (查找数据)
指对数据库中表记录的操作(DML 操作)
注意:
alter属于DDL,用来修改基本表,是对表的结构进行操作,比如对字段增加,删除,修改类型;
DML 操例,如update是用来修改表中的数据,修改某一行某一列的值
对行是数据操纵DML(update),对列是数据定义DDL(alter)
4.1Insert语句


  • 使用INSERT 语句向表中插入数据
  1. INSERT INTO tablename [(column [,column ...])]
  2. VALUES         (value[, value...]);
复制代码
例子

  • 创建一商品表goods(id int, goods_name varchar(10),price double);
  • 添加两条记录
  1. # 练习insert语句
  2. -- 1. 创建一商品表goods(id int, goods_name varchar(10),price double);
  3. CREATE TABLE goods(
  4.         id INT,
  5.         goods_name VARCHAR(10),
  6.         price DOUBLE)
  7.        
  8. -- 2. 添加两条记录
  9. INSERT INTO goods (id,goods_name,price)
  10.         VALUES(10,'华为手机',2000);
  11.        
  12. INSERT INTO goods (id,goods_name,price)
  13.         VALUES(20,'苹果手机',3000);
  14. SELECT * FROM goods;
复制代码


  • INSERT语句注意事项
细节说明:

  • 插入的数据应该与字段的数据类型相同,比如把 'abc' 添加到 int 类型会错误
  • 数据的长度应在列的规定范围之内,例如:不能将一个长度为80的字符串加入到长度为40的列中
  • 在values中列出的数据位置必须与被加入的列的排列位置对应
  • 字符和日期型数据应包含在单引号中
  • 列可以插入空值[前提是该字段允许为空],insert into table value(null)
  • insert into table_name(列名...) values (),(),() 形式添加多条记录
  • 如果是给表中的所有字段添加数据,可以不写前面的字段名称
  • 默认值的使用,当不给某个字段值时,如果有默认值就会添加默认值,否则报错
    如果某个列没有指定not null,那么当添加数据时,没有给定值,则会默认给null
    如果我们希望指定某个默认值,可以在创建表时指定
  1. -- - INSERT语句注意事项
  2. -- 细节说明:
  3. -- 1. 插入的数据应该与字段的数据类型相同
  4. INSERT INTO goods VALUES('北京','小米手机',2000)-- 失败,id对应的列类型是int
  5. -- 2. 数据的长度应在列的规定范围之内,例如:不能将一个长度为80的字符串加入到长度为40的列中
  6. INSERT INTO goods VALUES(40,'vovo手机vovovovo手机vovovovo手机vovo',2000)-- 失败
  7. -- 3. 在values中列出的数据位置必须与被加入的列的排列位置对应
  8. INSERT INTO goods (goods_name,id,price)-- 成功,即使改变了列属性的位置,只要值是对应的,就ok
  9.         VALUES('vivo手机',50,1800)
  10. -- 4. 字符和日期型数据应包含在单引号中
  11. INSERT INTO goods VALUES(60,小米手机,2000)-- 失败,字符串应该加上单引号
  12. -- 5. 列可以插入空值[前提是该字段允许为空],insert into table value(null)
  13. INSERT INTO goods (id,goods_name,price)
  14.         VALUES(11,'boluo手机',NULL)-- 成功,该字段允许为空
  15. -- 6. insert into table_name(列名...) values (),(),() 形式添加多条记录
  16. INSERT INTO goods VALUES(13,'三星手机',2300),(14,'四星手机',2300)-- ok
  17. -- 7. 如果是给表中的所有字段添加数据,可以不写前面的字段名称
  18. INSERT INTO goods (id) VALUES(66); -- ok,指定了字段
  19. -- 8. 默认值的使用,当不给某个字段值时,如果有默认值就会添加默认值,否则报错
  20.         -- 如果某个列没有指定not null,那么当添加数据时,没有给定值,则会默认给null
  21. INSERT INTO goods (id,goods_name)
  22.         VALUES(88,'格力手机');-- 这里的price默认设为null
  23. SELECT * FROM goods;
  24.                
  25. -- 如果我们希望指定某个默认值,可以在创建表时指定
  26. -- 例如
  27. CREATE TABLE goods2 (
  28.         id INT ,
  29.         goods_name VARCHAR(10),
  30.         price FLOAT NOT NULL DEFAULT 100);
  31. INSERT INTO goods2 (id,goods_name) VALUES(1,'大西瓜手机');
  32. SELECT * FROM goods2;
复制代码
goods表:
goods2表:
4.2Update语句


  • 语法:
  1. UPDATE tab_name
  2.         SET col_name1=expr1[, col_name2=expr2...]
  3.         [WHERE where_definition]
复制代码
例子
要求:在上面创建的epm表中修改表中的记录

  • 将所有员工的薪水改为5000元
  • 将姓名为‘小妖怪’的员工薪水改为3000元
  • 将老妖怪的薪水在原有的基础上加1000元
  1. -- 要求:在上面创建的epm表中修改表中的记录
  2. SELECT * FROM emp
  3. -- 1. 将所有员工的薪水改为5000元
  4. UPDATE emp SET salary = 5000
  5. -- 2. 将姓名为‘小妖怪’的员工薪水改为3000元
  6. UPDATE emp SET salary = 3000 WHERE user_name = '小妖怪'
  7. -- 3. 将老妖怪的薪水在原有的基础上加1000元
  8. INSERT INTO emp
  9.         VALUES(200,'老妖怪','1990-1-1','2004-4-12 12:22:09','捶背的',5000,'给大王捶背','111')
  10. UPDATE emp
  11.         SET salary = salary + 1000, job='出主意的'
  12.         WHERE user_name = '老妖怪'
复制代码


  • 使用细节

  • UPDATE 语法可以用新值更新原有表行中的各列
  • set子句指示要修改哪些列和要给予哪些值
  • WHERE子句指定应更新哪些行,如果没有WHERE子句,则更新所有的记录。因此要慎用
  • 如果需要修改多个字段,可以通过set字段1=值1,字段2=值2...
4.3Delete语句


  • 语法
  1. delete from tbl_name
  2.                 [WHERE where_definition]
复制代码
例子
  1. -- delete语句演示
  2. -- 删除表中名称为'老妖怪'的记录
  3. DELETE FROM emp WHERE user_name ='老妖怪'
  4. -- 删除表中所有记录
  5. DELETE FROM emp
  6. SELECT * FROM emp
复制代码


  • 使用细节

  • 如果不使用子句,将删除表中所有数据
  • delete语句不能删除某一列的值(可使用update设为null或者 '')
  • 使用delete语句仅删除记录,不删除表本身。如果要删除表,使用drop 语句:drop table 表名;
4.4Select语句


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

钜形不锈钢水箱

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表