1.DML:数据操作语言 插入删除和修改数据库中的数据 增 删 改
2.DQL:数据查询语言 用来查询数据库的数据
常用语句:
select :查询语句 (select+空格+查询对象) 举例:select age from student where id=1; age:查询实例 from:查询路径
student:查询的表名 where:查询范围 id=1:需要查询的内容
张老师笔记如下:
增:
insert into 表名(name,age) values('张三',20);
插入多行:
1.insert into 表名(name,age) select name,age from 表名1;
2.插入多行数据时 同时建表(只能执行一次,要保证没有此表)
select name,age into 表名 from 表名1
3.insert into 表名(name,age) select '张三',20 union select '李四',19;
union的作用:能把后面查询的内容添加到查询结果后面去
插入默认值:1.设计表的时候 设置某个字段的默认值
2.insert into person(name,age,sex) values('张三',20,default);
用sql语句添加20个不同的学生
改:
update 表名 set name='张三丰',age=100;//这样所有数据的name和age都改成张三丰100岁了
update 表名 set name='张三丰',age=100 where name='张三';//加入条件 只改姓名为张三的人
需求- 把成绩表中 所有大于等于90分的分数 改为100分
需求- 把学生表中 所有年龄大于等于20岁的并且年级的id是1的学生 修改成age=30,gradeId=2;
需求- 把学生表中 所有电话为null的 或者 地址为空字符串的学生 地址改成address='华府大道'
需求- 把学生表中 所有出生日期为2000-01-01的学生 修改成 birthday='1990-01-01'
删:
delete from 表名;// 这样这个表的所有数据都被删除了
delete from 表名 where id=20;//加入条件 只删除id=20的那个学生数据
delete和truncat的区别:
delete from 表名;删除数据,标识数字不变
truncate table 表名;删除数据,标识数字归零
通常不会直接删除一个表的数据
新建查询可以保存成 .sql文件 sql server中作用不大 mysql中通常用来还原表和数据的
把表中的内容导入,导出
导出:麻烦 容易报错
导入:麻烦 更容易报错
直接把表的数据复制,粘贴
注:有外键关系的时候!student 的 gradeId 等于 grade 的 id
思考:我现在要删除一个班级怎么办?
思考:我现在要添加一个名叫'孤独者'的新学生 而且还要新添加一个班级,这个新学生就是此班级的第一个学生,该怎么操作?