MySQL基础:常用查询语句,联表查询,外键约束

常用查询语句

ORDER BY

  • ORDER BY DESC 降序
  • ORDER BY ASC 升序

LIMIT

limit 3 --# 显示3条
limit 1, 3 --# 显示3条 偏移1个位置

-- # 更新操作时limit只能有一个参数
UPDATE user SET age = age+3 limit 3

联表查询

外连接

左连接

LEFT JOIN ON
左外连接包含left join左表所有行,如果左表中某行在右表没有匹配,则结果中对应行右表的部分全部为空(NULL)。

select * from student left join course on student.ID=course.ID
右连接

RIGHT JOIN ON
右外连接包含right join右表所有行,如果左表中某行在右表没有匹配,则结果中对应左表的部分全部为空(NULL)。

select * from course right join studenton student.ID=course.ID
全连接

FULL JOIN
完全外连接包含full join左右两表中所有的行,如果右表中某行在左表中没有匹配,则结果中对应行右表的部分全部为空(NULL),如果左表中某行在右表中没有匹配,则结果中对应行左表的部分全部为空(NULL)。

select * from student full join course on student.ID=course.ID

内连接

JOIN 或 INNER JOIN
内连接是比较运算符,只返回符合条件的行。

select * from student inner join course on student.ID=course.ID

外键约束

CONSTRAINT <外键名>] FOREIGN KEY 字段名 [,字段名2,…]
REFERENCES <主表名> 主键列1 [,主键列2,…]

表 tb_dept1

mysql> CREATE TABLE tb_dept1
    -> (
    -> id INT(11) PRIMARY KEY,
    -> name VARCHAR(22) NOT NULL,
    -> location VARCHAR(50)
    -> );

表 tb_emp6

mysql> CREATE TABLE tb_emp6
    -> (
    -> id INT(11) PRIMARY KEY,
    -> name VARCHAR(25),
    -> deptId INT(11),
    -> salary FLOAT,
    -> CONSTRAINT fk_emp_dept1
    -> FOREIGN KEY(deptId) REFERENCES tb_dept1(id)
    -> );
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 当您创建MySQL时,可以使用约束条件来保护数据完整性。您可以使用以下约束条件之一来强制执行的数据完整性: 1. 主键约束:该约束条件唯一标识中的每个记录,并确保中不存在具有相同主键值的记录。 2. 外键约束:该约束条件确保中的数据一致性,通过关联字段与另一个中的字段匹配来实现。 3. 唯一约束:该约束条件确保中的某个字段的值是唯一的,但允许空值。 4. 非空约束:该约束条件确保中的某个字段不允许为空值。 要添加约束条件,您可以在创建时使用CREATE TABLE语句的CONSTRAINT关键字,例如: CREATE TABLE example ( id INT NOT NULL, name VARCHAR(50) NOT NULL, PRIMARY KEY (id), UNIQUE (name) ); 在这个例子中,我们为id列添加了主键约束,为name列添加了唯一约束。 ### 回答2: MySQL添加约束条件的方法有多种。 首先是使用CREATE TABLE语句时在创建的过程中,可以在字段定义之后使用约束关键字来添加约束条件。常用的约束关键字有: 1. PRIMARY KEY:用于指定某个字段字段的组合作为的主键,主键的值必须唯一且不能为空。 2. NOT NULL:用于指定某个字段不能为空。 3. UNIQUE:用于指定某个字段的值必须唯一。 4. FOREIGN KEY:用于指定某个字段作为外键,与其他的指定字段建立关联。 例如,创建一个名为students的,并为id字段添加PRIMARY KEY约束条件: CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(50), age INT ); 其次,可以使用ALTER TABLE语句来修改的结构,包括添加约束条件。常用的ALTER TABLE子句有: 1. ADD CONSTRAINT:用于添加约束条件。 2. DROP CONSTRAINT:用于删除指定的约束条件。 例如,向名为students的添加一个名为age_not_null的NOT NULL约束条件: ALTER TABLE students ADD CONSTRAINT age_not_null CHECK (age IS NOT NULL); 最后,可以使用CREATE INDEX语句来创建索引的同时添加约束条件。索引可以用于提高查询效率。例如,为名为students的的name字段创建一个名为idx_name的UNIQUE约束条件: CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(50), age INT, UNIQUE INDEX idx_name (name) ); 以上是MySQL添加约束条件的几种常用方法,可以根据具体的需求选择适合的方式来添加约束条件。 ### 回答3: 在MySQL中,可以使用ALTER TABLE语句来给添加约束条件。具体的约束条件可以通过以下方式添加: 1. 主键约束:通过PRIMARY KEY关键字可以将一个或多个列设置为主键,主键的特点是唯一性和非空性。例如,想要将中的id字段设置为主键,可以使用以下语句: ALTER TABLE 名 ADD PRIMARY KEY (id); 2. 唯一约束:通过UNIQUE关键字可以将一个或多个列设置为唯一约束,唯一约束保证指定的列中的值是唯一的。例如,想要将中的email字段设置为唯一约束,可以使用以下语句: ALTER TABLE 名 ADD UNIQUE (email); 3. 外键约束:通过FOREIGN KEY关键字可以将一个或多个列设置为外键约束外键约束用于关联两张的数据。例如,想要将中的user_id字段设置为外键约束,关联另一张的id字段,可以使用以下语句: ALTER TABLE 名 ADD FOREIGN KEY (user_id) REFERENCES 另一张名 (id); 除了上述的基本约束条件之外,MySQL还支持更多的约束条件,如CHECK约束、DEFAULT约束等。添加约束条件时需要注意已有数据的完整性,可能需要先对现有数据进行修改或删除,以满足新的约束条件。在实际应用中,根据数据的设计和需求确定需要添加的约束条件,以提高数据的完整性和一致性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值