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

Wesley13
• 阅读 606

一、数据库操作

创建数据库

语法:

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
2年前
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
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
京东云开发者 京东云开发者
6个月前
Vitess全局唯一ID生成的实现方案 | 京东云技术团队
为了标识一段数据,通常我们会为其指定一个唯一id,比如利用MySQL数据库中的自增主键。但是当数据量非常大时,仅靠数据库的自增主键是远远不够的,并且对于分布式数据库只依赖MySQL的自增id无法满足全局唯一的需求。因此,产生了多种解决方案,如UUID,Sn
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这