MySQL数据库基础语法总结
目录
精华总结
1. 数据库的操作
1.1 显示当前的数据库
1.2 创建数据库
2. 常用数据类型
2.1 数值类型
2.2 字符串类型
2.3 日期类型
3. 表的操作
3.1 查看表
3.2 查看表结构
3.3 创建表
3.4 删除表
4. 练习
精华总结
- 操作数据库:
show databases ; --显示
create database xxx ; --创建
use xxx ; --使用
drop database xxx ; --删除
- 常用数据类型:
INT:整型
DECIMAL(M, D):浮点数类型
VARCHAR(SIZE):字符串类型
TIMESTAMP:日期类型
- 操作表:
show xxx ; --查看
create table 表名 (
字段名1 类型1 ,
字段名2 类型2 ,
) ; --创建
drop table 表名 ; --删除
1. 数据库的操作
SQL不区分大小写
1.1 显示当前的数据库
show databases ;
1.2 创建数据库
create database 数据库名 ;
语法:(大写表示关键字,[]是可选项,CHARACTER SET: 指定数据库采用的字符集,COLLATE: 指定数据库字符集的校验(比较)规则 )
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
1.3 使用数据库
use 数据库名 ;
1.4 删除数据库
删除操作非常危险,在实际工作中不应该使用drop命令来删除任何数据库!
drop database 数据库名 ;
DROP DATABASE [IF EXISTS] db_name;
2. 常用数据类型
- 整数:int
- 小数:double,decimal
- 字符串:varchar
- 时间:datetime
2.1 数值类型
分为整型和浮点型:
数据类型 | 大小 | 说明 | 对应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 |
decimal类型:能够更精确的表示小数,但付出很多的时间和空间的代价。
扩展资料:
数值类型可以指定为无符号(unsigned),表示不取负数。
1字节(bytes)= 8bit。
对于整型类型的范围:
- 有符号范围:-2^(类型字节数*8-1)到2^(类型字节数*8-1)-1,如int是4字节,就是-2^31到2^31-1
- 无符号范围:0到2^(类型字节数*8)-1,如int就是2^32-1
尽量不使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存放不下,与其如此,还不如设计时,将int类型提升为bigint类型。
2.2 字符串类型
数据类型 | 大小 | 说明 | 对应java类型 |
---|---|---|---|
VARCHAR(SIZE) | 0-65,535字节 | 可变长度字符串 | String |
TEXT | 0-65,535字节 | 长文本数据 | String |
MEDIUMTEXT | 0-16 777 215字节 | 中等长度文本数据 | String |
BLOB | 0-65,535字节 | 二进制形式的长文本数据 | byte[] |
varchar是最常用的类型,(SIZE)表示这个字符串的最大长度,单位是字符。
2.3 日期类型
数据类型 | 大小 | 说明 | 对应java类型 |
---|---|---|---|
DATETIME | 8字节 | 范围从1000到9999年,不会进行时区的 检索及转换。 | java.util.Date、 java.sql.Timestamp |
TIMESTAMP | 4字节 | 范围从1970到2038年,自动检索当前时 区并进行转换。 | java.util.Date、 java.sql.Timestamp |
3. 表的操作
需要操作数据库中的表时,需要先使用该数据库:
use db_test ;
3.1 查看表
show tables ;
3.2 查看表结构
查看这个表的列有哪些,以及类型。即:describe(描述)
desc 表名;
3.3 创建表
语法:
列名在前,类型在后
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
);
可以使用comment增加字段说明。示例:
create table stu_test(
id int,
name varchar(20) comment '姓名',
password varchar(50) comment '密码',
age int,
sex varchar(1),
birthday timestamp,
amout decimal(13, 2),
resume text
);
3.4 删除表
drop table 表名 ;
drop table if exists stu_test;
4. 练习
有一个商店的数据,记录客户及购物情况,有以下三个表组成:
- 商品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)
SQL:
--创建数据库
create database if not exists java101
default character set utf8;--选择数据库
use java101;--创建数据库表
--商品
create table if not exists goods(good_id int,goods_name varchar(32),unitprice int,category varchar(12),provider varchar(64)
);--客户
create table if not exists customer(customer_id int,name varchar(20),address varchar(50),email varchar(20),sex varchar(5),card_id varchar(20)
);--购买
create table if not exists purchase(order_id int,customer_id int,goods_id int,nums int
);
MySQL数据库基础语法总结相关推荐
- MySQL数据库基础(五)——SQL查询
MySQL数据库基础(五)--SQL查询 一.单表查询 1.查询所有字段 在SELECT语句中使用星号""通配符查询所有字段 在SELECT语句中指定所有字段 select fro ...
- Linux Mysql 数据库基础
目录 Linux Mysql 数据库基础 一.数据库 数据库简介 数据库的分类 数据库的发展史 数据库系统发展阶段 DBMS 数据库管理系统 数据库管理系统的优点 数据库管理系统的基本功能 数据库系统 ...
- MySQL数据库基础01 韩顺平 自学笔记
MySQL数据库基础 数据库简单原理图 连接Mysql 启动和关闭mysql服务 连接Mysql指令 数据库三层结构 数据在数据库中的存储方式 SQL语句的分类 简单通过Java操作Mysql数据库 ...
- Mysql数据库基础知识(五)之:视图、变量、存储过程、函数、流程控制结构
第一部分:Mysql数据库基础知识(一)之 基础查询----分组查询 第二部分:Mysql数据库基础知识(二)之 连接查询----子查询-----分页查询------union联合查询 第三部分:My ...
- 【笔记】——MySQL数据库——基础知识-——快速回顾——(加深印象篇)
文章目录 前言 一.MySQL是什么? 二.数据库的常见概念 三.数据库存储数据的特点 四.SQL语言的分类 1.)DML 2.)DDL 3.)DCL 五.数据库的基本操作 5.1.)创建数据库 5. ...
- Mysql数据库基础第八章:窗口函数和公用表表达式(CTE)
Mysql数据库基础系列 软件下载地址 提取码:7v7u 数据下载地址 提取码:e6p9 mysql数据库基础第一章:(一)数据库基本概念 mysql数据库基础第一章:(二)mysql环境搭建 mys ...
- 使用C语言访问MySQL数据库基础
使用C语言访问MySQL数据库基础 一.MySQL管理 包含在MySQL发行版中的一些有用的工具程序使管理工作变得相当容易. 除mysqlshow命令以外,所有的MySQL命令都接受所示的3个标准参数 ...
- MySQL数据库基础02 韩顺平 自学笔记
MySQL数据库基础02 sql表查询增强 分页查询 分组函数和分组子句 数据分组的总结 多表查询 问题的引出 多表查询的练习 自连接 子查询 子查询当作临时表使用 在多行子查询中使用all操作符 在 ...
- php大牛额城战笔记,PHP语言大牛开发笔记(8)——MySQL数据库基础回顾[2]
本文主要向大家介绍了PHP语言大牛开发笔记(8)--MySQL数据库基础回顾[2],通过具体的实例向大家展示,希望对大家学习php语言有所帮助. 一.数据表 为了确保数据的完整性和一致性,在创建表时指 ...
最新文章
- Linux C编程--进程间通信(IPC)5--System V IPC 机制3--共享内存
- 你说我做丨为你定制「大局观版」职场设计课
- linux与windows双系统保持时间同步
- 安卓ListView行详细内容展示页编写和下拉刷新实现
- android ndk r10d.rar,[Android] 环境配置之Android Studio开发NDK
- 神仙工具!百度网盘资源一键转存阿里云盘,YYDS
- 【 java.sql.SQLException: Illegal mix of collations (utf8mb4_0900_ai_ci,IMPLICIT) and (utf8mb4_unico】
- svm预测股价 python_python 利用SVM预测股票涨跌
- JSON Viewer有个大bug导致不得不放弃掉
- ContestHunter #26 B 玩骰子
- 测试环境Hosts设置
- L3-013. 非常弹的球
- 智能车辆路径跟踪:carsim和simulink联合仿真,基于车速的变权重多点预瞄驾驶员模型个例
- Sizzle选择器揭秘--Sizzle选择器
- 刘振飞:做云计算比保障双十一要难得多
- 一个700万人口的国家系统遭黑客入侵,超500万人身份信息泄露...
- HTML6(无序列表,有序列表和自定义列表)
- cloc工具 linux,Linux下源代码行数统计工具(sloccount, cloc等)
- 电子元器件 热阻的理解
- 3.15求解“鸡兔同笼问题”:鸡和兔在一个笼子里,共有腿100条,头40个,问鸡兔各有几只?
热门文章
- 肖特基(Schottky)二极管与普通二极管的区别
- ٩( ‘ω‘ )و 【超详细!!!C语言scanf问题】scanf吃掉回车或空格问题
- DrawCall是什么?
- VEGAS Pro 16——视频编辑的新时代
- Datawhale task4打卡——二手车价格预测
- 做技术的,不要搞封建迷信活动
- MATLAB对图像做矩阵的减法、点乘运算和高斯变换的结果对比
- 3D机器视觉厂商的场景争夺战役
- 【Adobe】解决 Indesign 因 plugplugowl.dll 出现闪退问题
- 新中国70年:银行业的五个发展阶段