MySQL中的DDL
程序员文章站
2024-03-21 09:16:41
...
DDL数据定义语言
操作对象:数据库、表
建库
CREATE DATABASE `DDL_test`CHARACTER SET utf8 COLLATE utf8_general_ci;
- 说明:
- 字符集一般选utf8
- 排序规则:
* utf8_general_ci 不区分大小写,速度快,一般选这个
* utf8_bin 区分大小写,精度高
SHOW DATABASES; -- 查看数据库
USE `ddl_test`; -- 使用数据库
注意这里的数据库名称使用了反引号
建表
CREATE TABLE `ddl_test`.`student` ( `StudentNo` INT(10) NOT NULL AUTO_INCREMENT COMMENT '学号',
`StudentName` VARCHAR(100) NOT NULL COMMENT '学生姓名',
`StudentAge` INT(3) NOT NULL COMMENT '学生年龄',
PRIMARY KEY (`StudentNo`) )
ENGINE=INNODB CHARSET=utf8;
查看表的状况
DESCRIBE `ddl_test`.`student`;
-- DESC `ddl_test`.`student`; 也是可以的
SQLyog中
命令行中
定义字段
数据类型:
常用
- 数值类型
int 4bytes - 字符串类型
varchar 0~65535bytes
text 0-65 535 bytes - 日期和时间类型
DATETIME 8 bytes YYYY-MM-DD HH:MM:SS
TIMESTAMP 4 bytes
字段属性
-
UnSigned
无符号的,声明该数据列不允许负数 . -
ZEROFILL
0填充的
不足位数的用0来填充 , 如int(3),5则为005 -
Auto_InCrement
自动增长的 , 每添加一条数据 , 自动在上一个记录数上加 1(默认),通常用于设置主键 , 且为整数类型,可定义起始值和步长
当前表设置步长(AUTO_INCREMENT=100) : 只影响当前表
SET @@auto_increment_increment=5 ; 影响所有使用自增的表(全局) -
NULL 和 NOT NULL
默认为NULL , 即没有插入该列的数值
如果设置为NOT NULL , 则该列必须有值 -
DEFAULT
默认的
用于设置默认值
删表/库
DROP TABLE IF EXISTS `student`;
DROP DATABASE IF EXISTS `sss`;
备忘录
-- 每张表的固定字段
id -- 主键
`version` -- 乐观锁
is_delete -- 伪删除
gmt_create -- 创建时间
gmt_update -- 修改时间
上一篇: log4j的配置 博客分类: java log4j.properties缺陷log4j
下一篇: Securing Java EE Applications Deployed on GlassFish with OpenDS 博客分类: Java JavaGlassfish
推荐阅读
-
彷徨 | Hive的SQL--DDL详细操作
-
MYSQL账号管理及DDL语言
-
MySQL中的DDL
-
lambdaQuery中EQ、NE、GT、LT、GE、LE的用法
-
触发器(七、DDL触发器在OGG维护中的应用)
-
MySql的主从复制、主主复制【MySql 5.7,Docker】
-
离线计算中的幂等和DataWorks中的相关事项
-
数据库 - Truncate/Delete/Drop区别及MySQL如何清空表中的数据
-
详解MySQL-5.7.18多线程复制可能会导致主从数据不一致的bug
-
多线程编程中条件变量和虚假唤醒(spurious wakeup)的讨论 博客分类: JAVA技术 多线程 同步 互斥 条件等待 信号量