mysql 表的快速创建

mysql 表的快速创建,第1张

保留三位小数

CAST( round(ifnull(sum(a.planNum),0),3) AS char)

-- 创建表

CREATE TABLE if not exists `tableName` (

-- 自增Id

  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID',

-- 字符串类型

  `field` varchar(200) DEFAULT NULL COMMENT '字段',

-- 字符串类型 非 null

  `field` varchar(50) NOT NULL COMMENT '字段',

-- 文本类型

  `field` text COMMENT '字段',

-- 文本类型

`field` longtext COMMENT '字段',

--  int 类型

  `field` int(11) DEFAULT NULL COMMENT '字段',

-- int 类型 默认 非 null

  `field` int(11) NOT NULL COMMENT '字段',

-- int 类型 包含默认值

  `field` int(2) DEFAULT '1' COMMENT '字段',

-- 数字类型 精度 默认值 0.00

  `field` decimal(5,2) DEFAULT '0.00' COMMENT '字段',

--- 数字类型  非 null

  `totalInvest` decimal(12,2) NOT NULL COMMENT '字段',

-- float 类型 默认 null

  `field` float DEFAULT NULL COMMENT '字段',

-- float 类型 默认 0.00

  `field` float(8,2) DEFAULT '0.00' COMMENT '字段',

-- 日期类型  格式  yyyy-mm-dd

  `time` date DEFAULT NULL COMMENT '字段',

-- 布尔类型

    `field` bit(1) DEFAULT b'0' COMMENT '是否完工:0-否 1-是',

-- 创建时间  格式 yyyy-mm-dd HH:MM:ss

  `createTime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

-- 更新时间 按照时间戳自动更新 格式 yyyy-mm-dd HH:MM:ss

  `updateTime` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',

  PRIMARY KEY (`id`)

-- 生产表的编码 引擎  注释 

) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='web端环境配置'

sql 修改字段

-- 删除表

delete from tableName

-- 删除表 包括表结构

drop table  tableName

-- 改变表名称

alter table tableName comment '公共附件表'

-- 删除 accountInfo 的唯一约束 需要保证约束存在

DROP INDEX tableName ON accountInfo

-- 添加字段

CALL setcolumn('tableName','field','add','varchar(20) COLLATE utf8mb4_bin DEFAULT NULL COMMENT ''日期'' after type ')

-- 改变字段类型

CALL setcolumn('tableName', 'field', 'modify', 'float(10,2) DEFAULT NULL COMMENT ''容积率''')

-- 改变字段名称

CALL setcolumn('tableName', 'field', 'change', 'tthickness float(10,2) DEFAULT NULL COMMENT ''层顶深度(m)''')

-- 删除表字段

CALL setcolumn('tableName', 'field', 'drop', '')

-- 插入表字段 

INSERT into tableName (field) VALUES ('field')

-- 不存在则插入

replace into tableName (field) values('field')

命名字段数据:

  url,路径 链接统一使用 500个字符

  名称,一般输入框统一 使用 200个字符

  数字使用 14数字 ,保留小数点4位数

  驼峰命名法 且第一第二字母不能大写

对用户来说,分区表是一个独立的逻辑表,但是底层由多个物理子表组成,实现分区的代码实际上是通过对一组底层表的对象封装,但对SQL层来说是一个完全封装底层的黑盒子。

MySQL实现分区的方式也意味着索引也是按照分区的子表定义, 没有全局索引

分区的意思是指将同一表中不同行的记录分配到不同的物理文件中 ,几个分区就有几个.idb文件。MySQL数据库的分区是局部分区索引,一个分区中既存了数据,又放了索引。也就是说,每个区的聚集索引和非聚集索引都放在各自区的(不同的物理文件)。

1、可以让单表 存储更多的数据

2、 分区表的数据更容易维护 ,可以通过删除与那些数据有关的分区,更容易删除数据,也可以增加新的分区来支持新插入的数据。另外,还可以对一个独立分区进行优化、检查、修复等 *** 作。

3、部分查询能够从查询条件确定只落在少数分区上, 查询速度会很快

4、通过跨多个磁盘来分散数据查询,来 获得更大的查询吞吐量

要使定时事件起作用,MySQL的常量GLOBAL event_scheduler必须为on或者是1。

1、查看scheduler的当前状态:

2、修改scheduler状态为打开(0:off , 1:on):

3、临时打开定时器(四种方法):

4、永久生效的方法,修改配置文件my.cnf

5、临时开启某个事件

6、临时关闭某个事件


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6160532.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-16
下一篇 2023-03-16

发表评论

登录后才能评论

评论列表(0条)

保存