mysql 怎么给表增加字段

记得有一次我在帮朋友的公司维护数据库,他们突然要在用户表中添加一个新字段来记录用户的生日。
此刻,我坐在朋友的办公室里,手里端着一杯热气腾腾的新泡绿茶,透过窗户看到外面灰蒙蒙的天空。
我打开MySQL Workbench,连接到他们的数据库并输入USE命令切换到用户表所在的数据库。

添加字段的过程非常顺利。
我输入 ALTER TABLE user ADDbirthdayDATENOTNULLDEFAULT'1 9 00-01 -01 ',然后刷新表结构,发现确实添加了新字段。
然而,我突然想到,如果不是所有用户都提供了出生日期,那么这种默认设置可能会误导一些用户。
所以我使用 UPDATE 语句来设置所有用户的生日。

“等等,还有一件事,我突然想到,我们需要确保这个操作不会影响正在使用的数据库,并且我们需要找个时间让它发挥作用。
”我告诉我的朋友。
他点点头。
我们决定在晚上活动量较低的时候进行,以免影响用户体验。

最后,我给朋友发了一条消息:“今天给你添加了生日字段,今晚就完成了,现在应该没问题了。
不过,以后添加字段的时候,记得先保存数据。

在mysql中创建表并新增数据 建表插数完整流程

等等,我记得上次我在公司加班到半夜只是为了给新项目创建一个数据库表,但最后因为字段类型错误而不得不重来一遍。

--

场景:上午9 点,办公室。
我坐在电脑前,打开终端,准备向测试环境添加一些用户数据。

平方米 -
创建表 如果不存在则创建表 test_users ( id INT(1 1 ) NOT NULL AUTO_INCRMENT, 名称 VARCHAR(5 0) NOT NULL, 电子邮件 VARCHAR(1 00) NOT NULL UNIQUE, join_to TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, 主键(id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 mb4 ;
-
输入单个数据 INSERT INTO test_users (name, email) VALUES ('new_user', 'new@example.com');
-
批量插入 将 test_users(姓名、电子邮件)插入值中。
(“user1 ”,“u1 @example.com”), ('user2 ', 'u2 @example.com');
-
从文件导入(假设 users.csv) 将数据文件“/tmp/users.csv”加载到 test_users 表中 以“,”结尾的字段 由 '"' 关闭 以 '\n' 结尾的行 (姓名、电子邮件);
详情:
表名使用反引号,因为它包含下划线。

邮件附加了UNIQUE,所以当你输入new@example.com时,如果已经存在,就会报错: 平方米 错误 1 06 2 (2 3 000):键“email”的条目“new@example.com”重复 解决方案:使用 INSERT IGNORE 或先检查重复项。

TIMESTAMP的默认值是插入时的时间。
例如,如果现在运行,join_at 为 2 02 3 -1 0-2 7 09 :1 5 :2 3 (时区必须正确)。

--

突然想到:之前用LOAD DATA导入的时候,文件权限被屏蔽了很长一段时间。
在Linux上,需要使用mysql -u root -p登录,然后运行LOAD DATA命令,否则会提示Access returned for user '...' to database '...'。

--

完成:现在数据在test_users表中,但是如何更快地检查它?我应该直接使用 SELECT 还是应该先对电子邮件建立索引?

mysql 怎么给一个表一次增加多个字段?

添加字段命令: 1 、单行字段:改变表角色,添加 unsigned int(1 1 ) module 默认不为空 0 注释 'module'; 2 、多行字段: ALTER TABLE role ADD COLUMN Module int(1 1 ) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'module', ADD COLUMN type VARCHAR(3 0) NOT NULL COMMENT 'project' AFTER default_module;
注释: 1 .注释就是注释,其作用类似于Java中的//。
2 .评论内容必须在评论后用单引号括起来。
3 、当您为新表创建脚本时,可以通过在脚本中添加注释属性来定义字段来添加注释。