MySQL基础知识024.CRUD数据库CRUD语句:增(create)、删(delete)、改(update)、查(Retrieve)
- Insert 语句 (添加数据)
- Update 语句(更新数据)
- Delete 语句(删除数据)
- Select 语句 (查找数据)
注意:
alter属于DDL,用来修改基本表,是对表的结构进行操作 , 比如对字段增加 , 删除,修改类型;
DML 操例 , 如update是用来修改表中的数据 , 修改某一行某一列的值
对行是数据操纵DML(update) , 对列是数据定义DDL(alter)
4.1Insert语句
- 使用INSERT 语句向表中插入数据
INSERT INTO tablename [(column [,column ...])]VALUES(value[, value...]);
例子
- 创建一商品表goods(id int, goods_name varchar(10),price double);
- 添加两条记录
# 练习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;
![day03-MySQL基础知识02](http://img.zhejianglong.com/231017/2324301029-0.png)
文章插图
- INSERT语句注意事项
- 插入的数据应该与字段的数据类型相同,比如把 'abc' 添加到 int 类型会错误
- 数据的长度应在列的规定范围之内 , 例如:不能将一个长度为80的字符串加入到长度为40的列中
- 在values中列出的数据位置必须与被加入的列的排列位置对应
- 字符和日期型数据应包含在单引号中
- 列可以插入空值[前提是该字段允许为空],insert into table value(null)
- insert into table_name(列名...) values (),(),() 形式添加多条记录
- 如果是给表中的所有字段添加数据,可以不写前面的字段名称
- 默认值的使用 , 当不给某个字段值时,如果有默认值就会添加默认值,否则报错
如果某个列没有指定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,那么当添加数据时,没有给定值,则会默认给nullINSERT INTO goods (id,goods_name) VALUES(88,'格力手机');-- 这里的price默认设为nullSELECT * 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表:![day03-MySQL基础知识02](http://img.zhejianglong.com/231017/2324305A1-1.png)
文章插图
goods2表:
![day03-MySQL基础知识02](http://img.zhejianglong.com/231017/232430O30-2.png)
文章插图
4.2Update语句
- 语法:
UPDATE tab_name SET col_name1=expr1[, col_name2=expr2...] [WHERE where_definition]
例子要求:在上面创建的epm表中修改表中的记录