Mysql常用命令总结

     本篇博客,用于自用。如果能够帮到其他小伙伴,那就更好了。

 

     以如下User表为例,讲解Mysql数据库常用的命令。

#创建数据库
CREATE SCHEMA `mybatis_plus` DEFAULT CHARACTER SET utf8;

#创建用户表
CREATE TABLE user (
    id BIGINT(20) PRIMARY KEY NOT NULL COMMENT '主键',
    name VARCHAR(30) DEFAULT NULL COMMENT '姓名',
    age INT(11) DEFAULT NULL COMMENT '年龄',
    email VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
    manager_id BIGINT(20) DEFAULT NULL COMMENT '直属上级id',
    create_time DATETIME DEFAULT NULL COMMENT '创建时间',
    CONSTRAINT manager_fk FOREIGN KEY (manager_id) REFERENCES user (id)
)  ENGINE=INNODB CHARSET=UTF8;

#初始化数据:
INSERT INTO user (id, name, age, email, manager_id , create_time)
VALUES (1087982257332887553, '大boss', 40, '[email protected]', NULL, '2019-01-11 14:20:20'),
	(1088248166370832385, '王天风', 25, '[email protected]', 1087982257332887553, '2019-02-05 11:12:22'),
	(1088250446457389058, '李艺伟', 28, '[email protected]', 1088248166370832385, '2019-02-14 08:31:16'),
	(1094590409767661570, '张雨琪', 31, '[email protected]', 1088248166370832385, '2019-01-14 09:15:15'),
	(1094592041087729666, '刘红雨', 32, '[email protected]', 1088248166370832385, '2019-01-14 09:48:16');
	

 

 

   以上述表为例,讲解Mysql中常用的语句。

 


-- 建表语句1,缺陷严重,不推荐。创建的user表或许存在多余的字段!
CREATE TABLE test_user(id bigint(20), name varchar(30), 
	age int(4), email varchar(50), 
	manager_id bigint(20), create_time datetime)
AS
SELECT id, name, age, email, manager_id, create_time
FROM user;

-- 建表语句2,有部分缺陷,定义主键、外键等SQL语句丢失.
CREATE TABLE mp_user AS
SELECT id AS user_id, name AS real_name, age, 
		email, manager_id, create_time
FROM user;


-- 给表重命名
ALTER TABLE `user` RENAME TO mp_user;

-- 给表字段进行重命名
ALTER TABLE mp_user CHANGE name real_name VARCHAR(30);

-- 删除列
ALTER TABLE user DROP COLUMN name;

-- 增加列
-- Mysql5.6及以上版本可以为datetime类型字段设置‘CURRENT_TIMESTAMP’默认值
ALTER TABLE user ADD COLUMN update_date datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间';
ALTER TABLE user ADD COLUMN update_date datetime DEFAULT NULL COMMENT '更新时间';
ALTER TABLE user ADD COLUMN size TINYINT NOT NULL DEFAULT '0' COMMENT '尺寸';

-- 修改表注释
ALTER TABLE user COMMENT '用户表';
-- 修改列注释                   
ALTER TABLE user MODIFY COLUMN update_date datetime COMMENT '更新时间2';

-- 改变列的类型
ALTER TABLE user CHANGE size size BIGINT(20) DEFAULT NULL;

 

参考文章: CREATE TABLE 表名 AS SELECT 语句      

                    [linux][mysql] 命令更改表结构:添加、删除、修改字段、调整字段顺序     

                    将Oracle数据库时间字段转成Mysql数据库时间字段    

 

 

你可能感兴趣的:(IT之旅,数据库,MySql)