我的博客

工具

市面上的SQL可视化工具不少,我一般常用的主要就是这两个。

当然,IDEA也是集成了数据库可视化功能的。除了这些,还有DBeaver、SQLyog等等。

我比较喜欢DataGrip,我就用这个演示了。不过这个的界面就没有Navicat优美了,不过个人感觉功能强大许多。

写表

这里,我已经创建好了一个Demo数据库。

我们先来了解一下创建表的语法。

创建表

USE Demo;
# 语法如下
# CREATE TABLE [IF NOT EXISTS] 表名(字段内容)
CREATE TABLE IF NOT EXISTS class(
  Id INT(4) COMMENT 'ID号',
  Name VARCHAR(10) COMMENT '姓名'
);

IF NOT EXISTS可以省略不写。

CREATE TABLE class(
  Id INT(4) COMMENT 'ID号',
  Name VARCHAR(10) COMMENT '姓名'
);

记住**CREATE TABLE**用于创建表。

创建字段

()里面是表的字段,写入字段的格式如下。

# 字段名 数值类型 COMMENT '字段备注'
Id INT(4) COMMENT 'ID号',
Name VARCHAR(10) COMMENT '姓名'
  • 如果数值类型要设置长度,我们可以在后面接上(),里面填入长度值。
  • COMMENT关键词是用于创建字段的对应备注,备注必须在其后。

字段约束与属性设置

我们可以通过某些关键词为字段设置约束与某些属性。

Id INT(4) COMMENT 'ID号' PRIMARY KEY ,
id INT(4) COMMENT 'ID号' PRIMARY KEY AUTO_INCREMENT NOT NULL  UNIQUE KEY

比如,PRIMARY KEY关键词可以将字段设置为主键。

位置可变!对应语法格式即可,字段 数据类型 [ 字段属性 | 约束 ] [ 索引 ] [ 字段备注 ] 。


约束或属性 说明
主键约束 PRIMARY KEY
外键约束 FOREIGN KEY
非空约束 NOT NULL
自动增长 AUTO_INCREMENT
唯一约束 UNIQUE KEY
默认约束 DEFAULT

对于这些约束,需要知道详细作用的话,请前往浏览器查看,嘿嘿!

常见数据类型

数值类型

类型 大小 用途
TINYINT 1 Bytes 小整数值
SMALLINT 2 Bytes 大整数值
MEDIUMINT 3 Bytes 大整数值
INT或INTEGER 4 Bytes 大整数值
BIGINT 8 Bytes 极大整数值
FLOAT 4 Bytes 单精度 浮点数值
DOUBLE 8 Bytes 双精度 浮点数值
DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 小数值

日期类型

类型 大小 ( bytes) 格式 用途
DATE 3 YYYY-MM-DD 日期值
TIME 3 HH:MM:SS 时间值或持续时间
YEAR 1 YYYY 年份值
DATETIME 8 YYYY-MM-DD HH:MM:SS 混合日期和时间值
TIMESTAMP 4 YYYYMMDD HHMMSS 混合日期和时间值,时间戳

字符串类型

类型 大小 用途
CHAR 0-255 bytes 定长字符串
VARCHAR 0-65535 bytes 变长字符串
TINYBLOB 0-255 bytes 不超过 255 个字符的二进制字符串
TINYTEXT 0-255 bytes 短文本字符串
BLOB 0-65 535 bytes 二进制形式的长文本数据
TEXT 0-65 535 bytes 长文本数据
MEDIUMBLOB 0-16 777 215 bytes 二进制形式的中等长度文本数据
MEDIUMTEXT 0-16 777 215 bytes 中等长度文本数据
LONGBLOB 0-4 294 967 295 bytes 二进制形式的极大文本数据
LONGTEXT 0-4 294 967 295 bytes 极大文本数据

MySQL基础之写表(创建表)的更多相关文章

  1. mysql控制台入门级--简单的创建表,字段。。。(用于网站测试)

    一:在Mysql控制台创建数据表 [sql]  use ceshi;  create table student  (      stuid int primary key auto_incremen ...

  2. Mysql基础(四):库、表、记录的详细操作、单表查询

    目录 数据库03 /库.表.记录的详细操作.单表查询 1. 库的详细操作 3. 表的详细操作 4. 行(记录)的详细操作 5. 单表查询 数据库03 /库.表.记录的详细操作.单表查询 1. 库的详细 ...

  3. mysql基础之mariadb库管理和表管理语句

    一.数据库管理语句 1.Syntax: CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_specification] ... cr ...

  4. Mysql基础语法-建库-建表(增、删、改、查、表关联及子查询)

    前言:MySQL是一个数据库管理系统,也是一个关系数据库.它是由Oracle支持的开源软件,MySQL可以在各种平台上运行UNIX,Linux,Windows等.可以将其安装在服务器甚至桌面系统上. ...

  5. hibernate基础之无法自动创建表总结

    刚刚接触Hibernate尝试写一个事例项目,但是搞了一天硬是苦逼的没弄通,一直的报无法创建表,现在就把这些经验给大家分享一下: 1.书写问题: <property name="hbm ...

  6. MySQL之使用DDL语句创建表

    一.使用DDL语句创建表 DDL语言全面数据定义语言(Data Define Language) 主要的DDL动词: CREATE(创建).DROP(删除).ALTER(修改) TRUNCATE(截断 ...

  7. java数据库 JDBC操作MySQL数据库常用API 部门表和员工表 创建表 添加数据 查询数据

    package com.swift.department; import java.sql.Connection; import java.sql.PreparedStatement; import ...

  8. mySQL学习入门教程——2.创建表

    二.创建表 一.创建数据表的SQL语句模型(弱类型)CREATE TABLE [IF NOT EXISTS] 表名称(字段名1 列的类型[属性][索引],字段名2 列的类型[属性][索引],-字段名n ...

  9. mysql基础_操作数据库以及表

    1.数据库的操作 create database 数据库名:#一般创建方式 create database 数据库名 show databases;#查看所有数据 drop database 数据库名 ...

随机推荐

  1. mock axios vue的数据传递关系

    最近有一个项目要快速出一个前端demo,选择了vue-element框架(虽然其实很想用react,但是为了求快) 本人的基础只有初级的html/css/js知识,和python后端的一些简单工作,和 ...

  2. Betaflight Configurator开源仓库说明-中文版

    Betaflight Configurator Betaflight Configurator是Betaflight飞行控制系统的跨平台配置工具. 它在Google Chrome中作为应用程序运行,允 ...

  3. SSM(Spring+SpringMVC+MyBatis)框架整合开发流程

    回忆了 Spring.SpringMVC.MyBatis 框架整合,完善一个小demo,包括基本的增删改查功能. 开发环境 IDEA MySQL 5.7 Tomcat 9 Maven 3.2.5 需要 ...

  4. vue自定义指令?

    除核心指令之外的指令, 使用directive进行注册. 指令自定义钩子函数: bind, inserted, update, componentUpdated, unbind

  5. 【转】pringMVC+Hibernate+Spring 简单的一个整合实例

    ref:http://langgufu.iteye.com/blog/2088355 SpringMVC又一个漂亮的web框架,他与Struts2并驾齐驱,Struts出世早而占据了一定优势,我在博客 ...

  6. Java 中,DOM 和 SAX 解析器有什么不同?

    DOM 解析器将整个 XML 文档加载到内存来创建一棵 DOM 模型树,这样可以 更快的查找节点和修改 XML 结构,而 SAX 解析器是一个基于事件的解析器, 不会将整个 XML 文档加载到内存.由 ...

  7. 模型预测控制(MPC)简介

    1.引言 在当今过程控制中,PID当然是用的最多的控制方法,但MPC也超过了10%的占有率.MPC是一个总称,有着各种各样的算法.其动态矩阵控制(DMC)是代表作.DMC采用的是系统的阶跃响应曲线,其 ...

  8. ECMAScript中有两种属性:数据属性和访问器属性。

    ECMA-262定义这些特性是为了实现JavaScript引擎用的,因此在JavaScript中不能直接访问它们.为了表示特性是内部值,该规范把它们放在了两对儿方括号中,例如 [[Enumerable ...

  9. js 遮罩效果

    -------------------------------tipswindown.js------------------------------ ///--------------------- ...

  10. 详解 CSS 属性 - position

    postion 属性定义了一个元素在页面布局中的位置以及对周围元素的影响.该属性共有5个值: position: absolute position: relative position: fixed ...