数据库的增删改查总结
#向表中添加记录
INSERT INTO grade(Gradeid,GradeName)VALUES(1,'学生后');
#向表中添加记录
INSERT INTO grade(GradeName,Gradeid)VALUES('java培训',4);
#向标中添加记录,可以省略列名
INSERT INTO grade VALUES(2,'大数据');
向表中插入数据-自增长的id编号也必须添加
XXXX-INSERT INTO grade(GradeName) VALUES('学士后');
插入部分数据就会不成功
XXXX-INSERT INTO grade VALUES(3);
#向其他表中插入多行数据
CREATE TABLE IF NOT EXISTS gradeBank
(
id INT NOT NULL auto_increment PRIMARY KEY COMMENT '编号',
idname VARCHAR(20) NOT NULL COMMENT '姓名',
indexs INT NULL COMMENT '自定义测试多行插入'
)COMMENT='年级备份表';
#向表中插入多行数据
INSERT INTO gradeBank
SELECT GradeID,GradeName FROM grade;
向表中插入顺序变化
INSERT INTO gradeBank(idname,id)
SELECT GradeName,GradeID FROM grade;
使用update更新数据行
UPDATE gradeBank SET idname='年级';
#实际使用中应该这样,当id=4的时候,执行idname为五年级
UPDATE gradeBank SET idname='五年级' WHERE id=4;
#使用更新数据执行多列修改-带条件的更新列
UPDATE gradeBank SET indexs=3,idname='八年级' WHERE id>3;
#主键列也是可以更新的-把id为47的值更新为9
UPDATE gradeBank SET id=9 WHERE id=47;
#使用delete删除数据行,当id编号为9的时候
DELETE FROM gradeBank WHERE id=9;
#删除当indexs大于0的值-删除主表中的数据,不能删除有外键约束的数据,即子表中有引用时不删除
DELETE FROM gradeBank WHERE indexs>0;
实际操作时,先删除子表中的数据,再删除主表中的数据
练习向表中插入数据
INSERT INTO subject(SubjectNo,SubjectName,ClassHour,GradeId)
VALUES(1,'高等数学-1',120,1),
(2,'高等数学-2',110,2),
(3,'高等数学-3',100,3),
(4,'高等数学-4',130,4);
向Student表中插入数据
INSERT INTO student
VALUES(1,'1234','张珊',0,1,'18301002233','成都市','1990-1-3','zs@qq.com','512932199012023221'),
(2,'1234','王五',1,1,'18301002233','巴中市','1993-2-4','ws@qq.com','512932199012023222'),
(3,'1234','张铃',0,1,'18301002233','北京市','1980-2-1','zl@qq.com','512932199012023224');
查询语句
使用select查询表中的数据
#获取整个表中的数据
SELECT * FROM student ;
#获取值表中的其中一列的数据
SELECT StudentNO FROM student;
#根据条件获取想要的值
SELECT * FROM `subject`;
#根据条件获取想要的值
SELECT * FROM `subject` WHERE ClassHour > 110;
SELECT * FROM student;
使用AS重命名列
SELECT StudentNo AS '编号',
StudentName AS '姓名',
Sex AS '性别'
FROM student;
可以对表进行重命名
SELECT StudentNo AS '编号',
StudentName AS '姓名',
Sex AS '性别'
FROM student AS s;
重命名之后可以进行引用
SELECT s.StudentNo AS '编号',
s.StudentName AS '姓名',
s.Sex AS '性别'
FROM student AS s;
使用模糊查询使用like关键字
SELECT s.StudentNo,s.StudentName,s.Sex
FROM student AS s
WHERE s.StudentName LIKE '%张%';
有条件的查询and not OR BETWEEN...AND IN
#查询年级编号为1的所有的男生信息
SELECT * FROM student WHERE GradeId=1 AND Sex=0;
#查询编号是1或者编号是2的
SELECT * FROM student WHERE StudentNo=1 OR StudentNo=2 OR StudentNo=3;
使用In查询获取编号为1,2,3的学员
SELECT * FROM student WHERE StudentNo IN(1,2,3);
查询学员编号2~4的学员信息
SELECT * FROM student WHERE StudentNo>1 AND StudentNo<=4;
也可以使用between..AND来tihuan
SELECT * FROM student WHERE StudentNo BETWEEN 2 AND 4;