mysql基本知识总结_MySQL进入

mysql基本知识总结_MySQL进入MySQL基础知识02 4.CRUD 数据库CRUD语句:增(create)、删(delete)、改(update)、查(Retrieve) Insert 语句 (添加数据) Update 语句(更新

day03-MySQL基础知识02

MySQL基础知识02

4.CRUD

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

  1. Insert 语句 (添加数据)
  2. Update 语句(更新数据)
  3. Delete 语句(删除数据)
  4. Select 语句 (查找数据)

指对数据库中表记录的操作(DML 操作)

注意:

alter属于DDL,用来修改基本表,是对表的结构进行操作,比如对字段增加,删除,修改类型;

DML 操例,如update是用来修改表中的数据,修改某一行某一列的值

对行是数据操纵DML(update),对列是数据定义DDL(alter)

4.1Insert语句

  • 使用INSERT 语句向表中插入数据
INSERT INTO tablename [(column [,column ...])]
VALUES 	(value[, value...]);

例子

  1. 创建一商品表goods(id int, goods_name varchar(10),price double);
  2. 添加两条记录
# 练习insert语句
-- 1. 创建一商品表goods(id int, goods_name varchar(10),price double);
CREATE TABLE goods(
	id INT,
	goods_name VARCHAR(10),
	price DOUBLE)
	
-- 2. 添加两条记录
INSERT INTO goods (id,goods_name,price)
	VALUES(10,"华为手机",2000);
	
INSERT INTO goods (id,goods_name,price)
	VALUES(20,"苹果手机",3000);

SELECT * FROM goods;

image-20221002184244851

  • INSERT语句注意事项

细节说明:

  1. 插入的数据应该与字段的数据类型相同,比如把 “abc” 添加到 int 类型会错误

  2. 数据的长度应在列的规定范围之内,例如:不能将一个长度为80的字符串加入到长度为40的列中

  3. 在values中列出的数据位置必须与被加入的列的排列位置对应

  4. 字符和日期型数据应包含在单引号中

  5. 列可以插入空值[前提是该字段允许为空],insert into table value(null)

  6. insert into table_name(列名…) values (),(),() 形式添加多条记录

  7. 如果是给表中的所有字段添加数据,可以不写前面的字段名称

  8. 默认值的使用,当不给某个字段值时,如果有默认值就会添加默认值,否则报错

    如果某个列没有指定not null,那么当添加数据时,没有给定值,则会默认给null

    如果我们希望指定某个默认值,可以在创建表时指定

-- - INSERT语句注意事项
-- 细节说明:
-- 1. 插入的数据应该与字段的数据类型相同
INSERT INTO goods VALUES("北京","小米手机",2000)-- 失败,id对应的列类型是int

-- 2. 数据的长度应在列的规定范围之内,例如:不能将一个长度为80的字符串加入到长度为40的列中
INSERT INTO goods VALUES(40,"vovo手机vovovovo手机vovovovo手机vovo",2000)-- 失败

-- 3. 在values中列出的数据位置必须与被加入的列的排列位置对应
INSERT INTO goods (goods_name,id,price)-- 成功,即使改变了列属性的位置,只要值是对应的,就ok
	VALUES("vivo手机",50,1800)


-- 4. 字符和日期型数据应包含在单引号中
INSERT INTO goods VALUES(60,小米手机,2000)-- 失败,字符串应该加上单引号

-- 5. 列可以插入空值[前提是该字段允许为空],insert into table value(null)
INSERT INTO goods (id,goods_name,price)
	VALUES(11,"boluo手机",NULL)-- 成功,该字段允许为空

-- 6. insert into table_name(列名...) values (),(),() 形式添加多条记录
INSERT INTO goods VALUES(13,"三星手机",2300),(14,"四星手机",2300)-- ok

-- 7. 如果是给表中的所有字段添加数据,可以不写前面的字段名称
INSERT INTO goods (id) VALUES(66); -- ok,指定了字段

-- 8. 默认值的使用,当不给某个字段值时,如果有默认值就会添加默认值,否则报错
	-- 如果某个列没有指定not null,那么当添加数据时,没有给定值,则会默认给null
INSERT INTO goods (id,goods_name) 
	VALUES(88,"格力手机");-- 这里的price默认设为null
SELECT * FROM goods;
		
-- 如果我们希望指定某个默认值,可以在创建表时指定
-- 例如
CREATE TABLE goods2 (
	id INT ,
	goods_name VARCHAR(10),
	price FLOAT NOT NULL DEFAULT 100);
INSERT INTO goods2 (id,goods_name) VALUES(1,"大西瓜手机");
SELECT * FROM goods2;

goods表:

image-20221002214014175

goods2表:

image-20221002214056677

4.2Update语句

  • 语法:
UPDATE tab_name 
	SET col_name1=expr1[, col_name2=expr2...]
	[WHERE where_definition]

例子

要求:在上面创建的epm表中修改表中的记录

  1. 将所有员工的薪水改为5000元
  2. 将姓名为‘小妖怪’的员工薪水改为3000元
  3. 将老妖怪的薪水在原有的基础上加1000元
-- 要求:在上面创建的epm表中修改表中的记录
SELECT * FROM emp

-- 1. 将所有员工的薪水改为5000元
UPDATE emp SET salary = 5000


-- 2. 将姓名为‘小妖怪’的员工薪水改为3000元
UPDATE emp SET salary = 3000 WHERE user_name = "小妖怪"

-- 3. 将老妖怪的薪水在原有的基础上加1000元
INSERT INTO emp 
	VALUES(200,"老妖怪","1990-1-1","2004-4-12 12:22:09","捶背的",5000,"给大王捶背","111")
 
 UPDATE emp 
	SET salary = salary + 1000, job="出主意的"
	WHERE user_name = "老妖怪"

image-20221002221709227

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

4.3Delete语句

  • 语法
delete from tbl_name 
		[WHERE where_definition]

例子

-- delete语句演示
-- 删除表中名称为"老妖怪"的记录
DELETE FROM emp WHERE user_name ="老妖怪"

-- 删除表中所有记录
DELETE FROM emp

SELECT * FROM emp

image-20221002222608594

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

4.4Select语句

原文地址:https://www.cnblogs.com/liyuelian/archive/2022/10/02/16749704.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/4705.html

(0)
上一篇 2023-06-08
下一篇 2023-06-08

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注