数据库——MYSQL基本增删改查功能总结

本文详细介绍如何使用SQL语句进行表结构的修改,包括添加和删除字段、修改字段类型、设置默认值、添加主键与唯一性约束等,提供丰富的实例帮助理解。

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

  1. 添加和删除字段操作
    CREATE TABLE IF NOT EXISTS user1(
    id INT UNSIGNED AUTO_INCREMENT KEY
    );
    –动态添加字段,username VARCHAR(20) 删除字段(已有的表下)。
    ALTER TABLE user1
    ADD username VARCHAR(20);
    – 添加密码字段 password CHAR(32) NOT NULL。
    ALTER TABLE user1
    ADD password CHAR(32) NOT NULL;
    – 添加邮箱字段email VARCHAR(50) NOT NULL UNIQUE 加到username之后。
    ALTER TABLE user1
    ADD email VARCHAR(50) NOT NULL UNIQUE AFTER username;
    – 添加测试字段 test TINYINT(1) NOT NULL DEFAULT 0; 加到首位。
    ALTER TABLE user1
    ADD test TINYINT(1) NOT NULL DEFAULT 0 FIRST;
    – 删除test字段
    ALTER TABLE user1
    DROP test;
    – 添加age、addr字段,删除email字段
    ALTER TABLE user1
    ADD age TINYINT UNSIGNED NOT NULL DEFAULT 18,
    ADD addr VARCHAR(100) NOT NULL DEFAULT ‘北京’,
    DROP email;

  2. 添加和删除默认值操作
    –动态添加默认值
    语法:
    ALTER TABLE tbl_name
    ALTER 字段名称 SET DEFAULT 默认值;
    例子:
    CREATE TABLE user2(
    id INT UNSIGNED AUTO_INCREMENT KEY,
    username VARCHAR(20) NOT NULL,
    age TINYINT UNSIGNED NOT NULL DEFAULT 18,
    email VARCHAR(50) NOT NULL
    );
    – 给email字段添加默认值 imooc@qq.com
    ALTER TABLE user2
    ALTER email SET DEFAULT ‘imooc@qq.com’;
    – 删除age字段的默认值
    语法:ALTER TABLE tbl_name
    ALTER 字段名称 DROP DEFAULT
    例子:
    ALTER TABLE user2
    ALTER age DROP DEFAULT;

  3. MODIFY和CHANGE关键字的使用
    –修改字段类型、字段属性
    语法:ALTER TABLE tbl_name
    MODIFY 字段名称 字段类型 [字段属性] [FIRST | AFTER 字段名称]
    –修改字段名称、字段类型、字段属性
    语法:ALTER TABLE tbl_name
    CHANGE 原字段名称 新字段名称 字段类型 字段属性 [FIRST | AFTER 字段名称]
    – 测试修改字段类型和字段属性、字段名称
    CREATE TABLE user3(
    id INT UNSIGNED AUTO_INCREMENT KEY,
    username VARCHAR(5) NOT NULL UNIQUE,
    password CHAR(32) NOT NULL,
    email VARCHAR(10) NOT NULL
    );
    – 将用户名字段的类型改为20
    ALTER TABLE user3
    MODIFY username VARCHAR(20) NOT NULL;
    – 将密码的长度改为40
    ALTER TABLE user3
    MODIFY password CHAR(40) NOT NULL;
    – 将email字段改为VARCHAR(50) NOT NULL FIRST
    ALTER TABLE user3
    MODIFY email VARCHAR(50) NOT NULL FIRST;
    – 将username 名称改为user
    ALTER TABLE user3
    CHANGE username user VARCHAR(20) NOT NULL;
    – 将password 名称改为pwd
    ALTER TABLE user3
    CHANGE password pwd CHAR(40) NOT NULL;
    – 将email改成userEmail 类型改成VARCHAR(100) DEFAULT ‘imooc@qq.com’
    ALTER TABLE user3
    CHANGE email userEmail VARCHAR(100) DEFAULT ‘imooc@qq.com’;

  4. 主键及唯一性约束
    添加主键:ALTER TABLE tb_name ADD PRIMARY KEY(字段名称)
    删除主键:ALTER TABLE tb_name DROP PRIMARY KEY;
    添加唯一:ALTER TABLE tb_name ADD UNIQUE KEY|INDEX index_name
    删除唯一:ALTER TABLE tb_name DROP INDEX index_name;

  5. 重命名表的操作
    修改数据表名称:ALTER TABLE tb_name RENAME [TO|AS] new _tb_name;
    或RENAME TABLE tb_name TO new_tb_name;
    – 将user6改为user666
    ALTER TABLE user6
    RENAME TO user666;

  6. 更新及删除
    update table_name set 字段名=值 where 条件
    删除
    delete from table_name [where]
    不添加where 则全部删除
    清空auto_increment
    alter table table auto_increment=1
    彻底清空数据表 truncate table table_name

  7. 基础查询记录:
    SELECT select_expr,… FROM tb_name
    [WHERE 条件]
    [GROP BY{col_name|position} HAVING 二次筛选]
    [ORDER BY {col_name|position|expr}[ASC|DESC]]
    [LIMIT 限制结果采集的显示条数]
    1、SELECT * FROM tb_name查询表中的所有记录
    2、SELECT 字段名称,… FROM tb_name
    3、SECECT 字段名称,… FROM db_name.tb_name;不用打开数据库就能查询指定数据表
    5、SELECT 字段名称[AS] 别名名称,… FROM db_name.tb_name;给字段起别名
    6、给数据表起别名:SELECT 字段名称,… FROM tb_name AS 别名;
    7、表名.字段名的形式:SELECT tb_name.字段名称,… FROM tb_name;
    8、查询表达式中的顺序可以和原数据表中字段的顺序不一致,且SELECT中查询表达式的顺序将影响着结果的顺序;

  8. 查询记录中的WHERE条件:会筛选出符合条件的记录
    符号<=>可以检测NULL值,另外可以使用IS [NOT] NULL 检测值是否为空
    指定范围:[NOT]BETWEEN … AND
    指定集合:[NOT]IN(值,…)
    逻辑运算符:AND逻辑与,OR 逻辑或
    匹配字符(配合通配符使用):[NOT] LIKE(默认忽略大小写)
    通配符:%任意长度的字符串;_任意一个字符

  9. GROUP BY分组:
    把值相同放到一个组中,最终查询出的结果只会显示组中一条记录
    1、分组配合GROUP_CONCAT()查看组中某个字段的详细信息
    2、配合聚合函数使用:COUNT()统计记录总数(如果写的是COUNT(字段名称),字段中的值为NULL,则不统计进来,如果写的是COUNT()会统计NULL值)、SUM()求和、MAX()求最大值、MIN()求最小值、AVG()求平均值,如SELECT COUNT() FROM user1;
    3、配合WITH ROLLUP关键字:会在记录末尾添加一条记录,是上面所有记录的总和;
    4、HAVING字句对分组结果进行二次筛选 如:HAVING 条件,用HAVING进行分组条件的指定时,一定要保证分组条件要么为聚合函数,要么条件中的字段必须出现在当前的SELECT语句中

  10. OPDER BY排序:
    ORDER BY 字段名称 ASC(升序,默认)|DESC(降序),字段名称 ASC|DESC;
    SELECT RAND() 产生一个随机数(0到1之间的一个随机数)
    ORDER BY RAND();随机记录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值