创建数据库
一个电脑可以有多个数据库(oracle和mysql),一个数据库可以有多个模式(多个table),一个数据库可以有多个视图,在information_schema里的views表里存着,
创建模式
一个用户,一个库下可创建多个模式,在同一个模式下不能创建相同名字的表,所以可创建多个模式,在不同的模式中可存在同名字的表,当写"select * from users"时,如果两个模式下都有users表 则应该加上模式名字以区分调用的是那个,语句写成:“select * from db1.users” ,即体现出"模式"这个概念的作用。(mysql里 模式其实就是一个database)
建立一个学生表和课程表
系统执行该代码后,就在数据库中建立一个新的空“学生”表Student,并将有关学生表的定义以及约束条件存放在数据字典里。
向student表增加“入学时间”列
修改约束条件
student表上建立视图
删除table的时候,视图要不要跟着删除和数据库产品有关系,各有各的要求。
参考链接https://www.cnblogs.com/geaozhang/p/6792369.html
查看表结构
查询的列可以和原先的顺序不一样。
可以查询经过计算的值(目标列表达式可以是算术表达式,字符串常量和函数等)
也可以改列名
查看数据库里面的内容用order语句(DESC为下降,默认为上升)
选出平均成绩大于多少的,需要用group。
选出课程号以及该课程号所选的学生的数量。
可以统计任意一列的不重复的单元个数。
连接查询,一个学生表一个选课表,用公共属性学号连接查询。
不加where条件,结果就是笛卡尔积的结果。
上面是等价连接,下面是自然连接。
where后面的条件可以用and连起来(多个条件同时满足才可以)。
外连接就是把那些不选课的也能提出来,具体可以百度一下外连接的定义。
上图为左连接和右连接的区别,左连接就是将第一个表的全部内容输出,右连接就是将第二个表全部输出。
多表连接(两表连接后再与第三个表连接)。
嵌套查询。
上面是等值连接,下面是自然连接。