MySQL 常用命令手册 增删改查大法

Wesley13
• 阅读 398

一、数据库操作

创建数据库

语法:

CREATE DATABASE database_name;

删除数据库

删除数据库务必谨慎!因为执行删除命令后,所有数据将消失。

语法:

DROP DATABASE database_name;

选择数据库

语法:

USE database_name;

二、数据表操作

数据类型

数值类型

类型

大小

用途

TINYINT

1 byte

小整数值

SMALLINT

2 bytes

大整数值

MEDIUMINT

3 bytes

大整数值

INT或INTGEGER

4 bytes

大整数值

BIGINT

8 bytes

极大整数值

FLOAT

4 bytes

单精度浮点数值

DOUBLE

8 bytes

双精度浮点数值

DECIMA

对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2

小数值

日期和时间类型

类型

大小

范围

格式

用途

DATE

3 bytes

1000-01-01/9999-12-31

YYYY-MM-DD

日期值

TIME

3 bytes

‘-838:59:59‘/‘838:59:59‘

HH-MM-SS

时间值

YEAR

1 byte

1901/2155

YYYY

年份值

DATETIME

8 bytes

1000-01-01 00:00:00/9999-12-31 23:59:59

YYYY-MM-DD HH:MM:SS

混合日期

TIMESTAMP

4 bytes

1970-01-01 00:00:00 2038

YYYY-MM-DD HH:MM:SS

混合日期

字符串类型

类型

大小

用途

CHAR

0-255 bytes

定长字符串

VARCHAR

0-65 535 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

极大文本数据

二进制串用于存储非传统数据,如图像、音频和视频文件、程序可执行文件等

注意:char(n) 和 varchar(n) 中括号中 n 代表字符的个数,并不代表字节个数,比如 CHAR(30) 就可以存储 30 个字符。

CHAR 和 VARCHAR 类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。

BINARY 和 VARBINARY 类似于 CHAR 和 VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。

BLOB 是一个二进制大对象,可以容纳可变数量的数据。有 4 种 BLOB 类型:TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。它们区别在于可容纳存储范围不同。

有 4 种 TEXT 类型:TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT。对应的这 4 种 BLOB 类型,可存储的最大长度不同,可根据实际情况选择。

创建数据表

语法:

CREATE TABLE table_name ( column_name column_type);

示例:

CREATE TABLE IF NOT EXISTS t_student(    stu_id INT NOT NULL AUTO_INCREMENT, stu_name VARCHAR(100) NOT NULL, stu_email VARCHAR(200), PRIMARY KEY (stu_id));

结果:

MySQL 常用命令手册 增删改查大法

删除数据表

语法:

DROP TABLE table_name;

插入数据

语法:

INSERT INTO table_name( field1, field2, ... fieldN) VALUES( value1, value2, ... valueN);#插入多条数据INSERT INTO table_name( field1, field2, ... fieldN) VALUES( valueA1, valueA2, ... valueAN) VALUES(    valueB1, valueB2, ... valueBN);

示例:

INSERT INTO t_student(    stu_id, stu_name, stu_email) VALUE (    10001, 'Tom', '10001@qq.com');

结果:

MySQL 常用命令手册 增删改查大法

查询数据

语法:

SELECT field1, field2 ...FROM table_name[WHERE Clause][LIMIT N][OFFSET N]
  • 查询语句中可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
  • SELECT 命令可以读取一条或者多条记录。
  • 可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据
  • 可以使用 WHERE 语句来包含任何条件。
  • 可以使用 LIMIT 属性来设定返回的记录数。
  • 可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0

WHERE 子句

语法:

SELECT field1, field2, ... field2 FROM table_name1, table_name2[WHERE condition1 [AND [OR]]] condition2 ...
  • 查询语句中可以使用一个或者多个表,表之间使用逗号**,** 分割,并使用WHERE语句来设定查询条件。
  • 可以在 WHERE 子句中指定任何条件。
  • 可以使用 AND 或者 OR 指定一个或多个条件。
  • WHERE 子句也可以运用于 SQL 的 DELETE 或者 UPDATE 命令。
  • WHERE 子句类似于程序语言中的 if 条件,根据 MySQL 表中的字段值来读取指定的数据。

UPDATE 更新

语法:

UPDATE table_name SET field1 = new_value1, field2 = new_value2[WHERE Clause]
  • 可以同时更新一个或多个字段。
  • 可以在 WHERE 子句中指定任何条件。
  • 可以在一个单独表中同时更新数据。
  • UPDATE 语句必须加 WHERE 条件,否则将更新所有记录

DELETE 语句

语法:

点赞
收藏
评论区
推荐文章
blmius blmius
1年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Easter79 Easter79
1年前
swap空间的增减方法
(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap
Stella981 Stella981
1年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
1年前
cobol学习之十数据库的增删改查模板
这次连接数据库使用的是ODBC连接access数据库,里面主要是一个增删改查的模板备份,方便以后查询。000001IDENTIFICATIONDIVISION.000002PROGRAMID.SAMPLEDB2.00
Wesley13 Wesley13
1年前
MySQL查询按照指定规则排序
1.按照指定(单个)字段排序selectfromtable_nameorderiddesc;2.按照指定(多个)字段排序selectfromtable_nameorderiddesc,statusdesc;3.按照指定字段和规则排序selec
Wesley13 Wesley13
1年前
Java日期时间API系列36
  十二时辰,古代劳动人民把一昼夜划分成十二个时段,每一个时段叫一个时辰。二十四小时和十二时辰对照表:时辰时间24时制子时深夜11:00凌晨01:0023:0001:00丑时上午01:00上午03:0001:0003:00寅时上午03:00上午0
Wesley13 Wesley13
1年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
helloworld_34035044 helloworld_34035044
5个月前
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
3A网络 3A网络
2个月前
开发一个不需要重写成 Hive QL 的大数据 SQL 引擎
开发一个不需要重写成HiveQL的大数据SQL引擎学习大数据技术的核心原理,掌握一些高效的思考和思维方式,构建自己的技术知识体系。明白了原理,有时甚至不需要学习,顺着原理就可以推导出各种实现细节。各种知识表象看杂乱无章,若只是学习
3A网络 3A网络
2个月前
理解 virt、res、shr 之间的关系(linux 系统篇)
理解virt、res、shr之间的关系(linux系统篇)前言想必在linux上写过程序的同学都有分析进程占用多少内存的经历,或者被问到这样的问题——你的程序在运行时占用了多少内存(物理内存)?通常我们可以通过t