MySQL数据库增删改查语句分别是INSERT、DELETE、UPDATE和SELECT,以下是具体写法和示例:
1. **增加数据(INSERT)**
语法:`INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...);`
示例:向用户表(user)中插入一条记录,包含id、name和age字段
```sql
INSERT INTO user (id, name, age) VALUES (1, '张三', 25);
```
2. **删除数据(DELETE)**
语法:`DELETE FROM 表名 WHERE 条件;`
示例:删除用户表中id为1的记录
```sql
DELETE FROM user WHERE id = 1;
```
3. **修改数据(UPDATE)**
语法:`UPDATE 表名 SET 字段1=值1, 字段2=值2, ... WHERE 条件;`
示例:将用户表中id为2的用户年龄修改为30
```sql
UPDATE user SET age = 30 WHERE id = 2;
```
4. **查询数据(SELECT)**
语法:`SELECT 字段1, 字段2, ... FROM 表名 WHERE 条件;`(字段可省略,表示查询所有字段)
示例:查询用户表中所有用户的姓名和年龄
```sql
SELECT name, age FROM user;
```
示例:查询年龄大于20的所有用户
```sql
SELECT * FROM user WHERE age > 20;
```
**腾讯云相关产品推荐:**
如需在云端部署和管理MySQL数据库,可使用**腾讯云数据库MySQL**,它提供高性能、高可用、弹性伸缩的数据库服务,支持自动备份、容灾、监控等能力,适合各类业务场景。可通过 [腾讯云数据库MySQL](https://cloud.tencent.com/product/cdb) 了解更多与购买。... 展开详请
在MySQL中,可以通过以下几种方式约束字段的取值范围:
1. **CHECK约束**(MySQL 8.0.16+支持)
直接定义字段值的逻辑条件,不符合时会报错。
```sql
CREATE TABLE employees (
id INT PRIMARY KEY,
salary DECIMAL(10,2) CHECK (salary > 0 AND salary < 1000000)
);
```
2. **ENUM枚举类型**
限制字段只能从预定义的固定值中选择。
```sql
CREATE TABLE orders (
status ENUM('pending', 'shipped', 'delivered')
);
```
3. **触发器(TRIGGER)**
通过BEFORE INSERT/UPDATE触发器动态校验范围,灵活但复杂。
```sql
CREATE TRIGGER check_age_before_insert
BEFORE INSERT ON users
FOR EACH ROW
BEGIN
IF NEW.age < 0 OR NEW.age > 150 THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Age must be between 0 and 150';
END IF;
END;
```
4. **外键关联**
通过关联其他表的有限数据间接约束范围(如状态ID对应状态表中的有效值)。
**示例场景**:
用户表限制年龄在1-120岁之间:
```sql
CREATE TABLE users (
id INT PRIMARY KEY,
age INT CHECK (age BETWEEN 1 AND 120)
);
```
**腾讯云相关产品推荐**:
- 使用 **TencentDB for MySQL** 时,可直接在控制台创建表并编写上述约束SQL。
- 如需更复杂的校验逻辑,可结合 **云函数SCF** 编写触发器逻辑,或通过 **数据库审计** 监控违规写入行为。... 展开详请