CREATE DATABASE IF NOT EXISTS testDB
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_general_ci;
USE testDB;
SHOW CREATE DATABASE testDB;
DROP TABLE IF EXISTS testUser;
DROP TABLE IF EXISTS officialUser;
CREATE TABLE testUser (
id INT UNSIGNED UNIQUE NOT NULL AUTO_INCREMENT COMMENT '主键',
user_name VARCHAR(50),
user_password VARCHAR(100)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT '测试表';
INSERT INTO testUser(user_name, user_password) VALUES ('金某人', '123456'), ('高某人', '123455'), ('振某人', '123455'), ('谢某人', '3333333');
# 修改数据库表
-- 新增字段(int类型)
ALTER TABLE testUser ADD COLUMN arg_not_null INT NOT NULL AFTER id; # int类型的字段在这种情况下会被默认设为0
ALTER TABLE testUser ADD COLUMN arg_can_null INT AFTER id; # 在未指明not null时,默认是null
ALTER TABLE testUser ADD COLUMN arg_default_value INT DEFAULT 3; # 所以新增一个字段,最好还是指明默认数值
-- 新增字段(varchar类型)
ALTER TABLE testUser ADD COLUMN arg_type_varchar VARCHAR(50) NOT NULL; # varchar类型默认是一个空字符串
ALTER TABLE testUser ADD COLUMN arg_type_varchar_can_null VARCHAR(50); # 未指明not null时,默认是null
ALTER TABLE testUser ADD COLUMN arg_type_varchar_default_value VARCHAR(20) NOT NULL DEFAULT '我的天'; # 所以新增一个字段,最好还是指明默认值
-- 新增字段(timestamp类型)
ALTER TABLE testUser ADD COLUMN update_date TIMESTAMP FIRST;
ALTER TABLE testUser ADD COLUMN old_name TIMESTAMP DEFAULT CURRENT_TIMESTAMP ;
-- 修改表字段
ALTER TABLE testUser MODIFY create_date TIMESTAMP;
ALTER TABLE testUser CHANGE old_name temp INT;
ALTER TABLE testUser DROP temp;
ALTER TABLE testUser RENAME TO officialUser;
SHOW FULL FIELDS FROM test.officialUser;
SHOW CREATE TABLE officialUser;
ALTER TABLE testUser ADD COLUMN lastModified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最新修改时间';
CREATE TABLE `stu` (
'id' int NOT NULL AUTO_INCREMENT,
'createTime' timestamp DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
'moditiyTime' timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY ('id'));
1、表A inner join 表B:
表A与表B匹配的行会出现在结果集中
2、表A left join 表B:
表A与表B匹配的行会出现在结果集中,外加表A中独有的数据,未对应的数据使用null填充
3、表A right join 表B:
表A与表B匹配的行会出现在结果集中,外加表B中独有的数据,未对应的数据使用null填充