当前位置: 首页 > article >正文

MySQL:数据类型建表

问题:我想建一个名为create和database的库可以吗?

如果按照一般的类型来建带有关键字的库

就会出现报错

如果我们这样写的话:`关键词 `,则会建库成功。

选择要进行操作的数据库

use+数据库

判断选择的库是否成功

删除数据库

drop database [if exists] 数据库名;

发现create这个库不见了,则说明删库成功。

注:删除数据库是一个非常危险的操作,在公司中千万不要这样做,使用时一定要慎重!!!

如何查看MySQL的帮助?

输入   \?

数据类型

数值类型

数据类型
大小
说明
对应 java 类型
BIT[ (M) ]
数,默认
M 指定位
1
二进制数, M 范围从 1 64
存储数值范围从 0 2^M-1
常用 Boolean 对应 BIT ,此时
默认是 1 位,即只能存 0 1
TINYINT
1 字节
Byte
SMALLINT
2 字节
Short
INT
4 字节
Integer
BIGINT
8字节
Long
FLOAT(M, D)
4 字节
单精度, M 指定长度, D 指定
小数位数。会发生精度丢失
Float
DOUBLE(M,
D)
8 字节
Double
DECIMAL(M,
D)
M/D 最大
+2
双精度, M 指定长度, D 表示
小数点位数。精确数值
BigDecimal
NUMERIC(M,
D)
M/D 最大
+2
DECIMAL 一样
BigDecimal

字符串类型

数据类型
大小
说明
对应Java类型
VARCHAR (SIZE)
0-65,535 字节
可变长度字符串
String
TEXT
0-65,535 字节
长文本数据
String
MEDIUMTEXT
0-16 777 215 字节
中等长度文本数据
String
BLOB
0-65,535 字节
二进制形式的长文本数据
byte[ ]

注: 

定义一个字段,字段包括十个或者十个以内的字符,如果超出,则会报错。

日期类型

数据类型
大小说明
对应 java 类型
DATETIME
8字节
范围从 1000 9999 年,不会进行时区的
检索及转换。
java.sql.Timestamp
java.util.Date
TIMESTAMP
4字节
范围从 1970 2038 年,自动检索当前时
区并进行转换。
java.sql.Timestamp
java.util.Date

TIMESTAMP为时间戳

建表

语法:

建一个表

查看表结构

desc + 表名

可以使用 comment 增加字段说明。
注:命令行客户端只执行一些简单的查询或是指令,如果只是一两句SQL语句则在这里面执行,如果是复杂的SQL语句,则在可视化工具去写代码
create database hys;
use hys;
create table student(
id bigint,
name varchar(20),
password varchar(30),
age int,
gender tinyint(1),
brithday date,
resume text
);

在编译器把SQL编译好,则保存在一个本地的.sql文件

D:\MySQL\hyss.sql

用source + D:\MySQL\hyss.sql   可以把表传到命令行客户端

删除表

drop [TEMPORARY] table [IF EXISTS] 表名 

关于表的操作

1.show tables;
2.create table(
  字段名1   数据类型
  字段名2   数据类型
);
3.desc  表名;
4.drop table [if exists] 表名;

练习

有一个商店的数据,记录客户及购物情况,有以下三个表组成:
     商品goods( 商品编号 goods_id ,商品名 goods_name, 单价 unitprice, 商品类别 category,
应商 provider)
     客户 customer( 客户号 customer_id, 姓名 name, 住址 address, 邮箱 email, 性别 sex ,身份证
card_id)
     购买 purchase( 购买订单号 order_id, 客户号 customer_id, 商品号 goods_id, 购买数量 nums)
drop database if exists store;
create database store character set utf8mb4 collate utf8mb4_0900_ai_ci;
 /* 选择数据库*/
use store;

/*创建商品表*/
drop table if exists goods;
create table goods(
goods_id bigint,
good_name varchar(20),
unitprice decimal(10,2),
category varchar(20),
provider varchar(20)
);
/*创建客户表*/
drop table if exists customer;
create table customer(
customer_id bigint,
name varchar(10),
address varchar(10),
email varchar(20),
gender bool,
card_id varchar(20)
);
/*创建购买记录表*/
drop table if exists purchase;
create table purchase(
order_id bigint,
customer_id bigint,
goods_id bigint,
nums int
);

传到命令行客户端

希望能对大家有所帮助!!!


http://www.kler.cn/a/388223.html

相关文章:

  • ODOO学习笔记(3):Odoo和Django的区别是什么?
  • 河南省的一级科技查新机构有哪些?
  • 如何优化Elasticsearch的查询性能?
  • ExecStart=/usr/bin/mongod --config /etc/mongod.conf (code=exited, status=2)
  • 【Linux】常用命令(2.6万字汇总)
  • Java static静态变量 C语言文件读写
  • system generator结合高版本matlab的使用
  • 【Linux】进程创建/等待/替换相关知识详细梳理
  • 查缺补漏----用户上网过程(HTTP,DNS与ARP)
  • 信息安全工程师(79)网络安全测评概况
  • 架构师备考-架构基本概念
  • Diving into the STM32 HAL-----DMA笔记
  • 【科普小白】LLM大语言模型的基本原理
  • 《Linux运维总结:基于银河麒麟V10+ARM64架构CPU部署redis 6.2.14 TLS/SSL哨兵集群》
  • Ubuntu学习笔记 - Day3
  • excel常用技能
  • C++ | 表示移动函数move()的基本用法
  • 【Golang】Go语言教程
  • 【leetcode练习·二叉树】用「分解问题」思维解题 I
  • mysql 配置文件 my.cnf 增加 lower_case_table_names = 1 服务启动不了
  • 【前端】JavaScript 方法速查大全-DOM、BOM、时间、处理JS原生问题(三)
  • C++学习笔记----11、模块、头文件及各种主题(一)---- 模板概览与类模板(1)
  • python opencv灰度变换
  • Docker部署Oracle 11g
  • selinux与防火墙
  • 【1】虚拟机安装