MySQL & Navicat(一)基础语法——常用数据类型、创建、删除、插入、更新、排序
文章目录一、创建数据库CREATE DATABASEⅠ、创建Ⅱ、字符编码CHARSET & COLLATE※、查询COLLATE二、删除数据库DROP DATABASE三、创建数据表CREATE TABLEⅠ、创建Ⅱ、常用数据类型1、数值2、日期/时间3、字符(串)※、可选特殊类型四、删除数据表DROP TABLE五、插入数据INSERT INTO六、选取数据SELECTⅠ、SELECTⅡ
导航
·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中有utf8和utf8mb4两种编码,而utf8在MySQL中最多只能支持3字节长度的编码,对于某些特别的汉字只能使用utf8mb4
COLLATE是和CHARSET相关的排序规则,用来指定排序和比较的规则。
COLLATE会影响ORDER BY的顺序、WHERE中大于小于关系的结果。
COLLATE末尾的ci代表Case Insensitive,即对大小写不敏感。相反,还有cs
自从MySQL8.0起,默认CHARSET从Latin1改为utf8mb4,默认COLLATE为utf8mb4_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...;
完
欢迎在评论区留言
感谢浏览
更多推荐


所有评论(0)