MySQL & Navicat(一)基础语法——常用数据类型、创建、删除、插入、更新、排序

本文详细介绍MySQL数据库操作,包括数据库和数据表的创建、删除,数据的插入、选取、更新与删除,以及数据类型的使用。同时,深入探讨了字符编码、排序规则,并通过实例演示了SQL语句的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

导航

·MySQL & Navicat(一)基础语法_常用数据类型_创建_删除_插入_更新_排序
·MySQL & Navicat(二)基础语法和基础函数的练习
·MySQL & Navicat(三)进阶练习_多表联查练习_GROUP BY练习_JOIN练习
·MySQL & Navicat(四)一张图解释GROUP BY

MySQL中列名使用反单引号约束
即在英文输入下:ESC下方、Tab键上方的按键
函数以英文输入分号作为分隔

一、创建数据库CREATE DATABASE

Ⅰ、创建

打开Navicat,新建连接,在新连接中新建查询以创建数据库:

CREATE DATABASE name;

或是使用以下更为完善的语句:

CREATE DATABASE IF NOT EXISTS name 
DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
语法描述
CREATE DATABASE IF NOT EXISTS name若name数据库不存在,则创建
DEFAULT指定默认值
CHARSET指定编码
COLLATE指定排序方式

Ⅱ、字符编码CHARSET & COLLATE

在MySQL中有utf8utf8mb4两种编码,而utf8在MySQL中最多只能支持3字节长度的编码,对于某些特别的汉字只能使用utf8mb4

COLLATE是和CHARSET相关的排序规则,用来指定排序和比较的规则。
COLLATE会影响ORDER BY的顺序、WHERE中大于小于关系的结果。
COLLATE末尾的ci代表Case Insensitive,即对大小写不敏感。相反,还有cs

自从MySQL8.0起,默认CHARSETLatin1改为utf8mb4,默认COLLATEutf8mb4_0900_ai_ci

※、查询COLLATE

在Navicat中使用以下语句得到所有支持的COLLATION

SHOW COLLATION;

在这里插入图片描述

二、删除数据库DROP DATABASE

删除数据库需要root管理员操作

注意:此操作将会带来不可逆的后果

DROP DATABASE name;

三、创建数据表CREATE TABLE

Ⅰ、创建

CREATE TABLE name(col_name,col_type);

或是使用以下更为完善的语句:

CREATE TABLE IF NOT EXISTS name(col_name,col_type)DEFAULT CHARSET=utf8mb4;

Ⅱ、常用数据类型

1、数值

类型描述
INT整型
4字节
FLOAT单精度浮点型
4字节
DOUBLE双精度浮点型
8字节

2、日期/时间

类型描述
DATE日期:YYYY-MM-DD
3字节
TIME时间:HH:MM:SS
3字节
YEAR年份:YYYY
1字节
DATETIME日期时间:YYYY-MM-DD HH:MM:SS
8字节
TIMESTAMP时间戳:YYYYMMDD HHMMSS
4字节

3、字符(串)

类型描述
CHAR定长字符字符串
VARCHAR变长字符字符串
BINARY定长字节字符串
VARBINARY变长字节字符串
BLOB二进制长文本
TEXT字符长文本

※、可选特殊类型

类型描述
NOT NULL非空
UNSIGNED无符号
AUTO_INCREMENT自增
↓搭配主键
PRIMARY KEY设定主键

四、删除数据表DROP TABLE

注意:此操作将会带来不可逆的后果

DROP TABLE name;

五、插入数据INSERT INTO

以下语句插入多行

INSERT INTO table_name(col_name1,col_name2...)
					VALUES
					(valueA1,valueA2...,
					(valueB1,valueB2......
					;

若值是字符(串),以引号约束

六、选取数据SELECT

Ⅰ、SELECT

SELECT col_name,col_name... [AS xxx]
FROM table_name
[WHRER cause]
[LIMIT n]
[OFFSET M];
参数描述
AS显示别名
WHERE指定条件
LIMIT指定返回数据数
OFFSET指定数据偏移量

结果存储到一个表中,成为结果集

SELECT * FROM table_name;

若指定全体列,则将列名以*代替

Ⅱ、SELECT DISTINCT

SELECT DISTINCE col_name,col_name... 
FROM table_name;

使用该语句返回所选列中唯一不同的值,去掉重复值

Ⅲ、限定条件WHERE

WHERE为操作限定了条件
例如:

SELECT * FROM table_name
WHERE type="cat" and id=1;

※、WHERE子句的运算符

运算符描述
=等于
<>不等于
>大于
<小于
>=大于等于
<=小于等于
() / NOT / AND / OR多条件
BETWEEN AND在范围内
LIKE模糊查询
%:多字符 _:单字符
IN是否在多个条件中
(100,200,300)
is null是否为空
1 / 0真假

Ⅳ、排序ORDER BY

SELECT使用PRDER BY关键字排序

SELECT column_name,column_name
FROM table_name
ORDER BY col_name (ASC/DESC),col_name (ASC/DESC);
方式描述
ASC升序
(默认)
DESC降序

排序原则为自所选列从左至右依次排序

七、更新数据UPDATE & 删除数据DELETE

注意:若忽略WHERE,将会改变所有行的有关列数据
为了避免此种情况发生,请在MySQL设置参数开启安全模式

set sql_safe_updates=1;

Ⅰ、更新

UPDATE table_name
SET col1=value1,col2=value2,...
WHERE other_col=value...;

Ⅱ、删除

DELETE FROM table_name
WHERE col1=value1...;

欢迎在评论区留言
感谢浏览

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值