`

DDL - CREATE

sql 
阅读更多
一、基本语句

CREATE TABLE `data_test` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `num` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '编号',
  `name` varchar(10) NOT NULL DEFAULT '' COMMENT '标识',
  PRIMARY KEY (`id`),
  KEY `index_name_num` (`num`,`name`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;



二、基本说明

1.创建表时表示状态的字段可用 tinyint 表示

2.数值类型后的(NUM)

数值类型后的括号中的内容,不表示字段的长度,而表示字段的宽度

tinyint 1字节 ,有符号的标识范围 -127 ~ 128 ,无符号 0 ~ 255 ,字符宽度都是3

int 4 字节,宽度 10

即 int(1) int(2) ... int(10) 表示的存储范围是相同的,不同的仅仅是显示内容的宽度

若 int(4) 存储 2 ,则变为 0002

若 int(4) 存储 11111 ,则变为 11111

只要在 int 的存储范围内,若超过指定的长度,则按照原样子展示,否则,左侧补齐相差的0

举例:
-- 添加若位数不够添加0补齐
create table t(id int zerofill);
insert into t values(10);


-- 默认宽度是10位
mysql> select * from t ;
+------------+
| id         |
+------------+
| 0000000010 |
+------------+
1 row in set (0.00 sec)

通过navicat 无法看到效果

winkey +r --> cmd --> 打开命令行窗口

mysql -u root -p 123456
show databases;
use test ;
执行 select * from t ;

宽度10,是int本身可表示的最大宽度
宽度>10 依然可以运行,只是左侧多补了一个0

mysql> alter table t modify id int(11) zerofill ;
Query OK, 2 rows affected (0.05 sec)

mysql> insert into t values (1);
Query OK, 1 row affected (0.00 sec)

mysql> select * from t ;
+-------------+
| id          |
+-------------+
| 00000000010 |
| 00000000111 |
| 00000000001 |
+-------------+
3 rows in set (0.00 sec)

3.unsigned

若字段的含义,无负数情况,则选择 unsigned

4.添加索引

explain select * from data_test ;

分享到:
评论

相关推荐

    sql-ddl-to-json-schema:SQL DDL到JSON模式转换器

    CREATE TABLE users ( id INT ( 11 ) NOT NULL AUTO_INCREMENT, nickname VARCHAR ( 255 ) NOT NULL , deleted_at TIMESTAMP NULL , created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL , updated_at ...

    oracle-DDL-DML-DCL-TCL.rar_The Oracle

    1. **CREATE**: 用于创建新的数据库对象,如表、视图、索引、存储过程、用户等。 2. **ALTER**: 修改已存在的对象结构,如增加或删除字段,更改表空间等。 3. **DROP**: 删除不再需要的对象,如表、索引、视图等。 4...

    spring-jpa-ddl-generator:从数据库生成DDL,而无需连接到数据库

    例如,设置为`update`会根据实体类的改变更新数据库,而设置为`create-drop`会在每次启动时清空并重建数据库。 总的来说,Spring JPA DDL Generator是Spring JPA用户的一个强大工具,它简化了数据库建模与管理的...

    ddl-test:用于测试 DDL 和相关逻辑的沙箱

    在这个"ddl-test"沙箱中,用户可以执行各种DDL语句,如创建表(CREATE TABLE)、修改表(ALTER TABLE)、删除表(DROP TABLE)、添加或修改列(ADD COLUMN或MODIFY COLUMN)、创建索引(CREATE INDEX)、定义约束...

    DDL-DML-Base-2019-5-17-7-33-10-495

    CREATE TABLE 学生 ( ID CHAR(4) PRIMARY KEY, 姓名 VARCHAR(10), 年龄 INT, 性别 CHAR(1) ); ``` 这条SQL语句定义了一个名为"学生"的表,包含了四个字段:ID(作为主键)、姓名、年龄和性别。主键是表中唯一...

    XML to DDL-开源

    2. **生成DDL语句**:解析完成后,工具将生成相应的CREATE TABLE、ALTER TABLE等DDL语句,这些语句可以直接在数据库管理系统(DBMS)中执行,以创建相应的数据库结构。 3. **反向工程**:反之,如果已有一个数据库...

    ddl-dml-ejercicios

    在数据库管理领域,DDL(Data Definition Language)和DML(Data Manipulation Language)是两种非常重要的SQL语言子集。本文将深入探讨这两种语言的基础知识及其在数据操作中的应用。 DDL,即数据定义语言,主要...

    spring-boot-data-jpa-example:Spring Boot!学习之Spring-Data-Jpa

    spring.jpa.hibernate.ddl-auto: create-drop 启动时生成表,关闭时删除表结构 spring.jpa.hibernate.ddl-auto: update 根据实体生成表结构,实体属性变动时,更新表结构,开发时建议使用这种策略 spring.jpa....

    Python库 | simple_ddl_parser-0.19.6-py3-none-any.whl

    CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(50), email VARCHAR(255) UNIQUE ); """ parser = DDLParser() parsed_ddl = parser.parse(ddl) # parsed_ddl现在是一个包含解析后的数据库结构的对象 ...

    设计文档生成DDL工具CREATE TABLE(SQLSERVER版)

    日本人做的一个小工具,稍按照自己的需求作了修改,以便项目开发需要

    oracle学习笔记

    数据定义语言(Data Definition Langueage DDL)--- create,alter,drop,rename,truncate 数据控制语言(Data Control Langueage DCL)--- grant,revoke 事务控制(Transation Control)------ commit,rollback

    数据库_ddl_

    这个脚本可能会演示如何使用`CREATE TABLE`语句来定义一个新的表格,包括指定列的名称、数据类型和长度,设置默认值,添加非空约束,定义主键和外键等。除此之外,它可能还包含`ALTER TABLE`语句,用于在已有表格上...

    由DDL获取JAVA实体类

    根据DDL获取基本的JAVA 实体类 复制DDL create table开始部分,点击获取即可

    从Access数据库建立DDL语句

    生成的DDL语句通常包含`CREATE TABLE`语句,其中包含了表名、字段名、数据类型、约束条件等信息。例如: ```sql CREATE TABLE 表名 ( 字段1 字段类型 NOT NULL, 字段2 字段类型, ... PRIMARY KEY (主键字段), ...

    mysqlddl的使用

    除此之外,DDL还包括CREATE DATABASE和DROP DATABASE来创建和删除数据库,CREATE INDEX和DROP INDEX用于创建和移除索引,以及CREATE VIEW和DROP VIEW用于创建和删除视图。 在MySQL中,mysqlddl命令可以用来执行这些...

    GBase 8t/8s/informix获取DDL函数DBMS-METADATA.GET-DDL

    CREATE FUNCTION DBMS_METADATA.GET_DDL( object_type varchar(16) , name varchar(128), schema varchar(32) default null, v_version varchar(32) default 'COMPATIBLE', v_model varchar(32) default '...

    Python库 | simple_ddl_parser-0.19.4-py3-none-any.whl

    ddl_statements = parser.parse('CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(50));') # 然后可以对解析结果进行进一步的操作 for stmt in ddl_statements: print(stmt) ``` `simple_ddl_parser` 库的...

    hbm2ddl属性hbm2ddl属性

    `create-drop`模式类似于`create`,不同之处在于当应用程序关闭时,Hibernate会自动删除所有先前创建的表。这种方式非常适合单元测试场景,每次测试运行后都可以确保数据库处于干净状态。 ##### 4. `update` `...

    DB2数据库SQL语法(DDL,DML以及插入优化)

    本篇文章将深入探讨DB2中的SQL语法,包括DDL(Data Definition Language)用于定义数据库结构,DML(Data Manipulation Language)用于处理数据,以及插入数据的优化策略。 一、资料定义 DDL (Data Definition ...

Global site tag (gtag.js) - Google Analytics