热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2_MySQL基础之表的管理

注:App端的代码块区可能会因为内容过多而显示不全,请双击代码块区查看内容!--测试添加和删除字段CREATETABLEuser1(i

注:App端的代码块区可能会因为内容过多而显示不全,请双击代码块区查看内容!

-- 测试添加和删除字段
CREATE TABLE 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(1) UNSIGNED NOT NULL DEFAULT 0,
ADD addr VARCHAR(100) NOT NULL DEFAULT '北京',
DROP email;-- 测试添加删除默认值操作
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 user2
ALTER age DROP DEFAULT;-- 测试修改字段类型和字段属性、字段名称
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);-- 将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';-- 测试添加和删除主键
CREATE TABLE user4(id INT UNSIGNED,username VARCHAR(20) NOT NULL
);-- 添加主键
ALTER TABLE user4
ADD PRIMARY KEY(id);-- 删除主键
ALTER TABLE user4
DROP PRIMARY KEY;-- 当有主键的列同时有自增时如何删除?
CREATE TABLE user5(id INT UNSIGNED AUTO_INCREMENT KEY,username VARCHAR(20) NOT NULL
);-- 删除主键
-- 1.先删除AUTO_INCREMENT
ALTER TABLE user5
MODIFY id INT UNSIGNED;
-- 2.在删除主键
ALTER TABLE user5
DROP PRIMARY KEY;-- 测试添加和删除唯一
CREATE TABLE user6(id INT UNSIGNED AUTO_INCREMENT KEY,username VARCHAR(20) NOT NULL UNIQUE,password CHAR(32) NOT NULL,email VARCHAR(50) NOT NULL UNIQUE
);-- 删除唯一索引 username 和email
ALTER TABLE user6
DROP INDEX username;ALTER TABLE user6
DROP INDEX email;-- 添加唯一索引(不指定索引名称)
ALTER TABLE user6
ADD UNIQUE KEY(username);-- 添加唯一索引(指定索引名称)
ALTER TABLE user6
ADD UNIQUE INDEX uni_email(email);-- 根据索引名称删除唯一索引
ALTER TABLE user6
DROP INDEX uni_email;-- 测试MyISAM存储引擎
CREATE TABLE test_myisam(a INT UNSIGNED,b VARCHAR(20),c CHAR(32)
)ENGINE=MyISAM;-- 定长
CREATE TABLE myisam_1(a CHAR(30),id int
)ENGINE=MyISAM;-- 查看状态
SHOW TABLE STATUS LIKE 'myisam_1'\G-- 动态
CREATE TABLE myisam_2(a VARCHAR(30),id INT
)ENGINE=MyISAM;CREATE TABLE myisam_3(a VARCHAR(30),id INT
)ENGINE=MyISAM ROW_FORMAT=FIXED;


推荐阅读
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
  • php更新数据库字段的函数是,php更新数据库字段的函数是 ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • MySQL 5.7 学习指南:SQLyog 中的主键、列属性和数据类型
    本文介绍了 MySQL 5.7 中主键(Primary Key)和自增(Auto-Increment)的概念,以及如何在 SQLyog 中设置这些属性。同时,还探讨了数据类型的分类和选择,以及列属性的设置方法。 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 数据类型和操作数据表2.1MySQL类型之整型2.2MySQL数据类型之浮点型2.3日期时间型DATE1支持时间:1000年1月1日~9999年12月31日DATETIME ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • MySQL Decimal 类型的最大值解析及其在数据处理中的应用艺术
    在关系型数据库中,表的设计与SQL语句的编写对性能的影响至关重要,甚至可占到90%以上。本文将重点探讨MySQL中Decimal类型的最大值及其在数据处理中的应用技巧,通过实例分析和优化建议,帮助读者深入理解并掌握这一重要知识点。 ... [详细]
  • 属性类 `Properties` 是 `Hashtable` 类的子类,用于存储键值对形式的数据。该类在 Java 中广泛应用于配置文件的读取与写入,支持字符串类型的键和值。通过 `Properties` 类,开发者可以方便地进行配置信息的管理,确保应用程序的灵活性和可维护性。此外,`Properties` 类还提供了加载和保存属性文件的方法,使其在实际开发中具有较高的实用价值。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • Unity与MySQL连接过程中出现的新挑战及解决方案探析 ... [详细]
  • 在C#编程中,数值结果的格式化展示是提高代码可读性和用户体验的重要手段。本文探讨了多种格式化方法和技巧,如使用格式说明符、自定义格式字符串等,以实现对数值结果的精确控制。通过实例演示,展示了如何灵活运用这些技术来满足不同的展示需求。 ... [详细]
author-avatar
易柔宛_968
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有