2019-10-18
添加、更新与删除数据
一、添加数据
1、为表中所有字段添加数据
①INSERT语句指定所有字段名
INSERT INTO 表名(字段名1,字段名2,...)
VALUES(值1,值2,...)
实例:向student表中添加一条新纪录,记录中id字段的值为1,name字段的值为"monkey",grade字段的值为98.5
步骤1:创建一个数据库chapter03
CREATE DATABASE chapter03;
步骤2:选择使用数据库chapter03
USE chapter03;
步骤3:在数据库中创建一个表student,用于存储学生信息
CREATE TABLE student(
id INT(4),
name VARCHAR(20) NOT NULL,
grade FLOAT
);
步骤4:使用INSERT语句向语句中插入一条数据
INSERT INTO student(id,name,grade)
VALUES(1,'monkey',98.5);
②INSERT语句中不指定字段名
INSERT INTO 表名 VALUES(值1,值2,...);
实例:如上的添加student表里的新记录
INSERT INTO student
VALUES(3,'monkey',90.5);
2、为表的指定字段添加数据
INSERT INTO 表名(字段1,字段2,...)
VALUES(值1,值2,...)//值与字段相对应
实例:指定字段添加信息
INSERT INTO student(id,name)
VALUES(4,'monkey');
//添加成功
//信息id和name这一行中grade显示NULL
INSERT INTO student(id,grade)
VALUES(5,97);
//这里会报错
报错原因:name字段没有指定默认值,且添加了非NULL约束
INSERT INTO student
SET id=5,name='monkey',grade=99;
3、同时添加多条记录
INSERT INTO 表名[(字段名1,字段名2,...)]
VALUES(值1,值2,...),(值1,值2,...),
...
(值1,值2,...);
实例:向student表中添加三条新记录
INSERT INTO student VALUES
(6,'lion',99),
(7,'tree',98),
(8,'monkey',96);
向student表中指定添加字段新记录
INSERT INTO student(id,name) VALUES
(9,'yier'),(10,'monkey'),(11,'lion');
二、更新数据
1、基本语法格式如下
UPDATE 表名
SET 字段名1=值1[,字段名2=值2,...]
[WHRER 条件表达式]
实例:使用UPDATE语句为id为1的字段更新数据
UPDATE student
set name ='close',grade=50
WHRER id=1;
使用UPDATE更新id小于4的字段的grade信息
UPDATE student
SET grade=100
WHERE id<4;
使用UPDATE将表中grade全部更新为50
UPDATE student
SET grade=80;
三、删除数据
1、基本语法
DELETE FROM 表名 [WHRER 条件表达式]
实例:删除id为11的字段记录
DELETE FROM student
WHRER id=11;
删除id大于5的字段记录
DELETE FROM student
WHRER id>5;
删除表中所有记录
DELETE FROM student;
补充:使用关键字TRUNCATE删除表中数据
TRUNCATE [TABLE] 表名
实例:在数据库chapter03中创建一张表tab_truncate,实现添加记录,删除记录
步骤1:创建表
CREATE TABLE tab_truncate(
id INT(3) PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(4)
);
创建表时,id字段设置了AUTO_INCREMENT,在每次添加记录时系统会为该字段自动添加值,id字段的默认初始值是1,每添加一条记录,该字段会自动加1。
步骤2:添加记录的内容,这里只需要添加name内容即可,因为id会自动更新
INSERT INTO tab_truncate(name)
VALUES('A'),('B'),('C'),('D'),('E'),('F');
步骤3:删除表中所有的记录
TRUNCATE TABLE tab_truncate;
四、查询数据
SELECT {*|字段名}
FROM 表名 别名
[WHRER 条件表达式]
实例:查询全部数据
SELECT *FROM student;
查询student表中name和grade字段的信息
SELECT name,grade FROM student;
LIKE查询姓名或密码中包含字母m的用户
SELECT *FROM student WHRER name LIKE '%m%' OR password LIKE '%m%';
LIKE查询表中一部分数据
SELECT 字段 FROM 表 WHRER 条件 LIMIT 开始行,取出数据个数;
取出表中第1~5行的记录
SELECT *FROM student WHRER name LIKE'%m%' OR passwordc LIKE'%m%' LIMIT 0,5;