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

文章目录

  • 一、创建数据库CREATE DATABASE
    • Ⅰ、创建
    • Ⅱ、字符编码CHARSET & COLLATE
      • ※、查询COLLATE
  • 二、删除数据库DROP DATABASE
  • 三、创建数据表CREATE TABLE
    • Ⅰ、创建
    • Ⅱ、常用数据类型
      • 1、数值
      • 2、日期/时间
      • 3、字符(串)
      • ※、可选特殊类型
  • 四、删除数据表DROP TABLE
  • 五、插入数据INSERT INTO
  • 六、选取数据SELECT
    • Ⅰ、SELECT
    • Ⅱ、SELECT DISTINCT
    • Ⅲ、限定条件WHERE
      • ※、WHERE子句的运算符
    • Ⅳ、排序ORDER BY
  • 七、更新数据UPDATE & 删除数据DELETE
    • Ⅰ、更新
    • Ⅱ、删除

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;

MySQL & Navicat(一)基础语法_常用数据类型_创建_删除_插入_更新_排序_第1张图片

二、删除数据库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...;

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

你可能感兴趣的:(#,MySQL,数据库,mysql)