MySQL创建数据表(上)

一、创建数据表的SQL语句模型【弱类型】

CREATETABLE [IF NOT EXISTS] 表名称(

字段名1列的类型[属性][索引],

字段名2 列的类型[属性][索引],

字段名n列的类型[属性][索引],

)[表属性][表字符集];

【表名称,字段名需要自己来命名】

【SQL语句并不区分大小写,但是一个文件名:在Windows下不区分大小写,但是在 Linux/UNIX下是区分大小写的】

【命名规则: 1、有意义(英文,英文组合或英文缩写)

2、自己定的名称最好小写。

3、SQL语句最好大写。】

1、 CREATETABLE users(

idINT,

nameCHAR(32)

);

2、 SHOWTABLES;

3、 DESCusers;

4、 SELECT* FROM users;

二、数据值与列类型

都以空间大小来细分,能够存下即可!

1、数值型

整型(整数):

非常小整数型 1字节 -128~127 0~255(无符号) TINYINIT

较小整数型 2字节 -32768~32767 SMALLINIT

中等大小整数型 3字节 0~16777215 MEDIUMIINT

标准整数型 4字节 -2147483648~2147483647 INT

大整数型 8字节 BIGINT

【可以添加属性:UNSIGNED】

浮点型(小数):

FLOAT(M,N) 4字节 【长度M,保留小数点后N位】

DOUBLE(M,N) 8字节 【五舍六入】

DECIMAL(M,N) M+2字节 【定点数,以字符串形式存储数据, 更精确的保存数据,但是效率会有所折扣。】【四舍五入】

【浮点数会存在误差,因此在对数字敏感的时候,需要用定点数来存储!】

3、字符型

MySQL支持以单引号与双引号表示字符串类型。

如“MySQL”与 'MySQL'相同

char(M) 最大255 固定长度字符串

varchar(M) 最大255 可变长度字符串

char(4) varchar(4)// 永远比字符多一个字节

'' 4 '' 1字节

'a' 4 'a' 2字节

'abcd' 4 'abcd' 5字节

'abcdefg' 4 'abcdefgh' 5字节

char类型会截取尾部的空格;

示例: CREATETABLE IF NOT EXISTS tab(v varchar(4),c char(4));

INSERTINTO tab(v,c) VALUES(“ab ”,”ab ”);

SELECTCONCAT(v,”#”),CONCAT(c,”#”) FROM tab;

最佳实践:

固定长度,推荐使用char类型(可能会浪费一定空间)。

可变长度,推荐使用varchar类型(可能会付出一些性能损耗)

text 文本数据:文章,日志 长度:2^16-1

MEDIUMTEXT

LONGTEXT

blob 二进制数据:照片,电影 长度:2^16-1

MEDIUMBLOB

LONGBLOB

【虽然没法通过SQL语句将照片,电影,压缩包等二进制文件插入到数据库中, 但是我们可以通过C++/Java等编程语言将二进制文件读成二进制数据流,然 后保存到数据库中】

ENUM 枚举 1~2字节

ENUM(“one”,”two”,”three”,”four”)~65535

一次只能有一个值

SET集合 1,2,3,4,8字节

SET(“one”,”two”,”three”,”four”)~64

一次可以有多个值,用“,”隔开。

4、日期型

DATE YYYY-MM-DD //如果位数充足,可以不用加‘-’

TIME hh:mm:ss //位数充足,可以忽略‘:’,位数不足,从后面截取

DATETIME YYYY-MM-DDhh:mm:ss

TIMESTAMP YYYYMMDDhhmmss //位数不足时,不可忽略前导0

YEAR YYYY

【创建数据表时,最好不要使用这些时间值,最好使用C++/Java等编程语言中的整数来保存 时间,这样更方便计算,如C++中的int,PHP中时间戳1970-1-10:0:0】

MySQL学习笔记_2_MySQL创建数据表(上)相关推荐

  1. MySQL学习笔记_3_MySQL创建数据表(中)

    MySQL创建数据表(中) 三.数据字段属性 1.unsigned[无符号] 可以让空间增加一倍 比如可以让-128-127增加到0-255 注意:只能用在数值型字段 2.zerofill[前导零] ...

  2. MySQL学习笔记_4_MySQL创建数据表(下)

    MySQL创建数据表(下) 五.数据表类型及存储位置 1.MySQL与大多数数据库不同,MySQL有一个存储引擎概念.MySQL可以针对不同的存储需求选择不同的存储引擎. 2. showengines ...

  3. MySQL学习笔记06【多表查询、子查询、多表查询练习】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

  4. MySQL学习笔记05【多表操作、三大范式、数据库的备份和还原】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

  5. MySQL学习笔记03【数据库表的CRUD操作、数据库表中记录的基本操作、客户端图形化界面工具SQLyog】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

  6. mysql查看用户名_Mysql创建数据表的方法介绍(附示例)

    本篇文章给大家带来的内容是关于Mysql创建数据表的方法介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 数据表是数据库最重要的组成部分之一,是其他对象的基础.如果我们的 ...

  7. MySQL(10)--- 创建数据表

    MySQL 创建数据表 创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段 语法 以下为创建MySQL数据表的SQL通用语法: CREATE TABLE table_name (col ...

  8. MySql学习笔记(一):创建数据库,创建表,加载数据,数据检索

    一.准备工作 1.1 安装mysql 一路next的操作这里就不做记录了. 1.2 配置mysql 安装完成后,将下面路径C:\Program Files\MySQL\MySQL Server 5.7 ...

  9. mysql 学习笔记 02创建表

    表结构的创建 比如: create table userinfo (id int unsigned comment 'id号'name varchar(60) comment '用户名'passwor ...

最新文章

  1. java mysql failover_MySQL MMM 双主在Failover时挂起
  2. vivado----fpga硬件调试 (二)----mark_debug
  3. hashmap 判断key是否存在
  4. java数组编译后_Java中数组和集合的foreach操作编译后究竟是啥
  5. wps临时文件不自动删除_电脑:让 Windows 10 系统自动清理临时文件
  6. VS 2013 Chrome PPAPI 开发环境
  7. c语言单片机编程教学大纲,单片机应用技术[C语言]教学大纲.doc
  8. 西数桌面云储存服务器,小白折腾NAS 篇九:超详细拆解小记 — Western Digital 西部数据 Elements 桌面硬盘12TB...
  9. 计算机网络显示红X无法连接,电脑无线网络连接不上,出现了红x❌
  10. App自动化测试之企微打卡、快手刷金币
  11. 手机usb计算机无法连接,手机usb连不上电脑怎么办实际解决
  12. android平板和ipad区别,iPad和安卓平板差距大吗?亲身经历告诉你,平板该如何挑选...
  13. 解决面部毛孔粗大的7个小窍门 - 健康程序员,至尚生活!
  14. java对word、Excel、PPT、PDF文件加密
  15. mysql特殊符号无法储存_解决MYSQL数据库无法保存emoji表情及特殊符号问题
  16. Debian 下 mysql workbench 报 tables could not be fetched.
  17. U9二次开发之BP定时任务插件开发
  18. 实用!7个强大的Python机器学习库!⛵
  19. 【程序】STM32使用SPI接口读取93C46存储器上的数据(非软件模拟SPI时序)
  20. java个人博客系统代码下载_java个人博客系统代码

热门文章

  1. (王道408考研数据结构)第六章图-第四节6:拓扑排序(AOV网、代码、排序规则)
  2. (王道408考研操作系统)第一章计算机系统概述-第一节2:操作系统的发展史
  3. Elasticsearch启动报错:Exception in thread “main“ java.nio.file.AccessDeniedException:
  4. 设置防火墙规则,防止因为TCP第三次握手,系统自动返回包
  5. atexit()函数(进程退出函数,类似析构)
  6. C/C++:Windows编程—Hook IE浏览器实现URL拦截及更改(上)
  7. 项目alpha冲刺-总结
  8. 修复Mysql主从不同步shell
  9. 【python】-- IO多路复用(select、poll、epoll)介绍及实现
  10. Windows Win7建立wifi热点,手机共享WIFI上网