必须掌握的SQL技能

本文详细介绍了如何在数据库中进行库的操作,包括创建和删除库,以及表的创建、删除、字段操作和基本SQL语句如INSERT、SELECT、UPDATE和DELETE的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

库操作

建库

建库使用的是 CREATE DATABASE 语句,语法规则为:

CREATE DATABASE <DATABASE_NAME>;

DATABASE_NAME 为要创建的数据库名。

示例:

-- 创建test库
CREATE DATABASE test

删库

删库使用的是 DROP DATABASE 语句,语法规则为:

DROP DATABASE <DATABASE_NAME>

示例:

-- 删除test库
DROP DATABASE test

正所谓"删库有风险,跑路需谨慎",在进行这步操作之前还需三思。

表操作

建表

建表使用的是 CREATE TABLE 语句,语法规则为:

CREATE TABLE <TABLE_NAME> (...<FIELDS>)

TABLE_NAME 为创建的表名;FIELDS 为附加的字段声明。

示例:

-- 在wjt20库下创建一个user表,并附加具体字段,默认数据库引擎是InnoDB
CREATE TABLE xxx.user(
    -- int类型,长度10,非空,自增,注释为"主键id",名为"id"的字段
    id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键id',

    -- varchar类型,长度10,字符集类型为"utf8mb4_unicode_ci",默认值为NULL,名为"name"的字段
    name VARCHAR(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,

    -- int类型,长度3,无符号,非空,默认值为0,名为"age"的字段
    age INT(3) UNSIGNED NOT NULL DEFAULT '0',

    -- 主键为"id"
    PRIMARY KEY(id)
) ENGINE = InnoDB;

删表

删表使用的是 DROP TABLE 语句,语法规则为:

TRUNCATE <TABLE_NAME>

示例:

TRUNCATE xxx.user

清空表中数据

清空表中的数据使用的是 TRUNCATE 语句,语法规则为:

TRUNCATE <TABLE_NAME>

示例:

TRUNCATE <TABLE_NAME>

增删改查

增加记录

增加记录使用的是 INSERT INTO 语句,语法规则为:

INSERT INTO <TABLE_NAME> [(...<FIELDS>)] VALUES(...<VALUES>)

FIELDS 为字段名集合(可选);VALUES 为插入的记录值。

增加单条记录的示例:

INSERT INTO xxx.user(id, name, age)
VALUES(1, "小明", 15)

批量增加记录的示例:

INSERT INTO xxx.user(id, name, age)
VALUES(1, "小智", 10),(2, "小刚", 10),(3, "小霞", 10)

查询记录

查询记录使用的是 SELECT FROM 语句,语法规则为:

SELECT <FIELDS> [AS <NEW_FIELDS>] FROM <TABLE_NAME> [WHERE ...]

FIELDS 是查询的字段名(也可以用 * 获取所有字段),多个字段名用","连接;NEW_FIELDS 是新起的字段名(可选);

示例:

SELECT * FROM xxx.user -- 查找所有记录
SELECT name FROM xxx.user WHERE id=1 -- 查找单条记录的一个字段

-- 给查询的字段取个别名
SELECT name AS
    user_name
FROM
    xxx.user
WHERE
    id = 1

修改记录

修改记录使用的是 UPDATE SET 语句,语法规则为:

UPDATE <TABLE_NAME> SET <KEY_VALUE_PAIR> [WHERE ...]

KEY_VALUE_PAIR 是键值对。

示例:

UPDATE
    xxx.user
SET
    name = "小红",
    age = 100
WHERE
    id = 1

删除记录

删除记录使用的是 DELETE 语句,语法规则为:

DELETE FORM <TABLE_NAME> [WHERE ...]

示例:

-- 删除id为1的记录
DELETE FROM xxx.user WHERE id=1

表结构操作

添加字段

在表中添加字段,使用的是 ALTER ADD,语法规则为:

ALTER TABLE <TABLE_NAME> ADD <FIELD> ...<FIELD> [AFTER <FIELD>];

如果不加 AFTER,默认会把新增的字段添加到表结构的尾部。

示例:

-- 在user表尾部添加一个group_id字段
ALTER TABLE xxx.user ADD group_id INT(10) NOT NULL;

修改字段

修改表中某个字段的结构,使用的是 ALTER CHANGE 语句,语法规则为:

ALTER TABLE <TABLE_NAME> CHANGE <FIELD> ...<FIELD>

示例:

-- user表的name字段长度由10扩展到15
ALTER TABLE xxx.user
CHANGE name
name VARCHAR(15)

删除字段

删除表中某个字段,使用的是 ALTER DROP 语句,语法规则为:

ALTER TABLE <TABLE_NAME> DROP <FIELD>

示例:

-- 删除user表中的name字段
ALTER TABLE xxx.user DROP name

其他

ALTER ADD 可以进行以下操作:

1.修改主键索引,示例:

-- 将主键改为name字段
ALTER TABLE xxx.user ADD PRIMARY KEY(name)

2.添加唯一索引,示例:

-- 给name字段添加唯一索引
ALTER TABLE xxx.user ADD UNIQUE(name)

3.添加普通索引,示例:

-- 给name字段添加普通索引
ALTER TABLE xxx.user ADD INDEX(name)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值