MySQL的常用语法
来源:互联网 发布:虚拟机mac安装xcode 编辑:程序博客网 时间:2024/05/22 08:07
SQL语言已是主流,但具体到特定的数据库上仍有细微的差别。对于MySQL的常用语法,本文做一个小的总结。
1. 外键约束
1.创建表时添加外键约束
//fk 是约束名称,不可重复CREATE TABLE `db_test`.`table_01` ( `ForeignKey` VARCHAR(9) NOT NULL, CONSTRAINT `fk` FOREIGN KEY (`ForeignKey`) REFERENCES `table_02` (`PrimaryItem`)) ENGINE = InnoDB;
2.对现有表添加外键约束
ALTER TABLE `table_01` ADD CONSTRAINT `fk` FOREIGN KEY(`ForeignKey`) REFERENCES `table_02`(`PrimaryItem`);
需注意:
- 约束名称可以省略
- 约束名称不可重复,否则可能出现以下错误:
MySQL Error 1215: Cannot add foreign key constraint
- 外键(文中
ForeignKey
)与对应项(文中PrimaryItem
)的数据类型必须相匹配。 - ENGINE = InnoDB,确保使用InnoDB引擎,才能支持外键约束。
2. 连接查询
- 内连接查询
SELECT student.* , sc.* FROM student, sc WHERE student.Sno = sc.Sno
- 自身连接
//f1, f2在此是表course的别名SELECT f1.Cno , f2.Cpno FROM course AS f1, course AS f2 WHERE f1.Cpno = f2.Cno
- 外连接
SELECT student.Sno, Sname, Ssex ,Sage, Sdept, Cno, Grade FROM student LEFT OUTER JOIN sc ON (student.Sno = sc.Sno)
- 多表连接
//本查询涉及三个表SELECT student.Sno, Sname, Cname, Grade FROM student, course,sc WHERE student.Sno = sc.Sno AND sc.Cno = course.Cno
3.嵌套查询
SELECT Sname //外层查询FROM studentWHERE Sno IN( SELECT Sno //内层查询 FROM sc WHERE Cno = '2')
4. 集合查询
常见的集合操作包括并操作UNION、交操作INTERSECT和差操作EXCEPT。
SELECT * FROM student WHERE Sdept = 'CS' UNION SELECT * FROM student WHERE Sage <= 19
5. 视图
数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。
CREATE VIEW 语句的结果只是把视图的定义存入数据字典,并不执行其中的SELECT语句。
CREATE VIEW IS_Student AS SELECT Sno, Sname, Sage FROM student WHERE Sdept = 'IS' WITH CHECK OPTION //表示对视图进行增删改查要保证操作的行满足视图中的谓词条件
1 1
- mysql的常用语法
- MySQL的常用语法
- Mysql 的常用语法
- MySQL数据库的常用语法
- [MySQL]MySQL的常用SQL语法
- mysql的增删改查常用语法
- mysql常用语法
- mysql常用语法
- MySQL 常用语法
- MySQL 常用语法总结
- MYSQL 语法常用
- Mysql 常用语法例子
- mysql常用语法
- mysql常用语法
- MYSQL常用语法
- MySQL 常用语法总结
- MYSQL常用语法
- Mysql数据库常用语法
- Java中的流与文件:正则表达式
- codeforces--651A Joysticks(贪心)
- 数列特征(找最大值、最小值、和)
- Python基础--不可变序列:元组
- jackson 使用
- MySQL的常用语法
- Android项目结构分析
- Apache安装
- HDU 1049 Climbing Worm(简单的规律题)
- github page
- 字母图形
- 0.1 - x 的近似的十进制值是多少?
- VMware安装ubuntu系统(Hadoop集群的节点准备)
- bzoj 1499: [NOI2005]瑰丽华尔兹