MySQL基础语法

1.1 简介

MySQL 是一种开放源代码的轻量级关系型数据库。

  • 开放源代码:用户可阅读、修改代码。
  • 轻量级:占用资源少,处理数据快速高效。
  • 关系型:数据间为二维关系。

1.1 相关概念

  • DB:数据库(database),存储有组织的数据的“仓库”。
  • DBMS:数据库管理系统(Database Management System,又称数据库软件或产品),数据库是通过 DBMS 创建和操作的容器。
    在这里插入图片描述
    常见数据库管理系统:MySQL、Oracle、DB2、SqlServer 等。
  • SQL:结构化查询语言(Structure Query Language),专门用来与数据库通信的语言。通用性强。

1.2 存储数据

  • 数据–>表–>库。
  • 一个数据库可以有多个表,用表名(唯一)进行区分。
    • 表具有一些特性,这些特性定义了数据在表中如何存储。
    • 表由列(字段)组成,一列(数据元素) 包含了相同类型的数据 + 数据按行存储,一行(元组,或记录)是一组相关的数据。

在这里插入图片描述

  • 表头( header ): 每一列的名称。
  • 键( key ): 键的值在当前列中具有唯一性。
  • 值( value ): 行的具体信息, 每个值必须与该列的数据类型相同。

1.3 数据类型

MySQL 支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。

  • 数值类型:MySQL 支持所有标准 SQL 数值数据类型。这些类型包括严格数值数据类型( INTEGER、SMALLINT、DECIMALNUMERIC ),以及近似数值数据类型( FLOAT、REALDOUBLE PRECISION )。
    在这里插入图片描述
  • 日期和时间类型:表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIMEYEAR 。每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL 不能表示的值时使用"零"值。TIMESTAMP 类型有专有的自动更新特性。
    在这里插入图片描述
  • 字符串类型:指 CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUMSET
    在这里插入图片描述
    注意char(n)varchar(n) 中括号中 n 代表字符的个数,并不代表字节个数,比如 CHAR(30) 就可以存储 30 个字符。

2. 基础语法

使用 Navicat

1. show databases; 查看当前所有数据库

在这里插入图片描述

2. use db_name; 查看指定库
3. show tables; 查看当前库的所有表

在这里插入图片描述

4. show tables from db_name; 查看其他库的所有表

在这里插入图片描述

5. 创建表
   create table table_name(
	列名 列类型,
	列名 列类型,
	...
    );  
   创建数据库
   create database db_name;
   删除数据库
   drop database db_name;

在这里插入图片描述
在这里插入图片描述

6. desc table_name; 查看表结构

在这里插入图片描述

语法规范

  1. 不区分大小写,但建议关键字大写(图形化界面自动大写),表名、列名小写
  2. 每条命令最好用分号(英文 ; )结尾(也可以用 \g )
  3. 每条命令根据需要,可以进行缩进或换行
  4. 注释:单行 #注释文字 或者 – 注释文字;多行 /* 注释文字 */

2.1 WHERE

  • 查询语句中你可以使用一个或者多个表,表之间使用逗号, 分割,并使用 WHERE 语句来设定查询条件。
  • 可以在 WHERE 子句中指定任何条件。
  • 可以使用 AND 或者 OR 指定一个或多个条件。
  • WHERE 子句也可以运用于 SQLDELETE 或者 UPDATE 命令。
  • WHERE 子句类似于程序语言中的 if 条件,根据 MySQL 表中的字段值来读取指定的数据。

在这里插入图片描述

2.2 SELECT

SELECT语句

2.3 INSERT

MySQL 表中使用 INSERT INTO SQL语句来插入数据。

INSERT INTO table_name ( field1, field2,...fieldN )
                       VALUES
                       ( value1, value2,...valueN );

如果数据是字符型,必须使用单引号或者双引号,如:" value "。

  1. 命令行界面:
    在这里插入图片描述

  2. 查询界面:
    在这里插入图片描述
    在这里插入图片描述

  3. 直接操作表:
    在这里插入图片描述

2.4 DELETE

DELETE FROM table_name [WHERE Clause];
  • 如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。
  • 可以在 WHERE 子句中指定任何条件。
  • 可以在单个表中一次性删除记录。

在这里插入图片描述

2.5 UPDATE

UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]
  • 可以同时更新一个或多个字段。
  • 可以在 WHERE 子句中指定任何条件。
  • 可以在一个单独表中同时更新数据。

在这里插入图片描述

2.6 LIKE 和 UNION

WHERE 子句中可以使用等号 = 来设定获取数据的条件,如 " id = 1 ;"。但是有时候我们需要获取 id 字段含有 " 1 " 的所有记录,这时我们就需要在 WHERE 子句中使用 SQL LIKE 子句。
SQL LIKE 子句中使用百分号 %字符来表示任意字符,类似于 UNIX 或正则表达式中的星号 *。
如果没有使用百分号 %, LIKE 子句与等号 = 的效果是一样的。

SELECT field1, field2,...fieldN 
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'

MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。

SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];
  • expression1 , expression2 , … expression_n : 要检索的列。
  • tables : 要检索的数据表。
  • WHERE conditions : 可选, 检索条件。
  • DISTINCT : 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT 修饰符对结果没啥影响。
  • ALL : 可选,返回所有结果集,包含重复数据。

2.7 ORDER BY 和GROUP BY

ORDER BY 对读取的数据进行排序。

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
ORDER BY field1 [ASC [DESC][默认 ASC]], [field2...] [ASC [DESC][默认 ASC]]

GROUP BY 语句根据一个或多个列对结果集进行分组。

在分组的列上我们可以使用 COUNT, SUM, AVG 等函数。

SELECT column_name, function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值