MySQL基本操作

显示数据库

SHOW DATABASES

 

显示数据表

SHOW TABLES;

 

显示数据表结构

SHOW COLUMNS FROM table_name;

 

显示数据表索引信息

 

SHOW INDEX FROM table_name;

 

创建数据表

CREATE TABLE table_name (column_name column_type);

例子:

CREATE TABLE IF NOT EXISTS `runoob_tbl`( `runoob_id` INT UNSIGNED AUTO_INCREMENT, `runoob_title` VARCHAR(100) NOT NULL, `runoob_author` VARCHAR(40) NOT NULL, `submission_date` DATE, PRIMARY KEY ( `runoob_id` ) )ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

 

删除数据表

DROP TABLE table_name;

 

插入数据

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

 

查询数据

SELECT column_name,column_name

FROM table_name

[WHERE Clause]

[OFFSET M] [LIMIT N]

 

  • 查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
  • SELECT 命令可以读取一条或者多条记录。
  • 你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据
  • 你可以使用 WHERE 语句来包含任何条件。
  • 你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。
  • 你可以使用 LIMIT 属性来设定返回的记录数。

 

 

WHERE 子句

 

WHERE condition1 [AND [OR]] condition2 .....

  • 你可以在 WHERE 子句中指定任何条件。
  • 你可以使用 AND 或者 OR 指定一个或多个条件。
  • WHERE 子句也可以运用于 SQL 的 DELETE 或者 UPDATE 命令。
  • WHERE 子句类似于程序语言中的 if 条件,根据 MySQL 表中的字段值来读取指定的数据。

 

下表中实例假定 A 为 10, B 为 20

操作符

描述

实例

=

等号,检测两个值是否相等,如果相等返回true

(A = B) 返回false。

<>, !=

不等于,检测两个值是否相等,如果不相等返回true

(A != B) 返回 true。

>

大于号,检测左边的值是否大于右边的值, 如果左边的值大于右边的值返回true

(A > B) 返回false。

<

小于号,检测左边的值是否小于右边的值, 如果左边的值小于右边的值返回true

(A < B) 返回 true。

>=

大于等于号,检测左边的值是否大于或等于右边的值, 如果左边的值大于或等于右边的值返回true

(A >= B) 返回false。

<=

小于等于号,检测左边的值是否小于于或等于右边的值, 如果左边的值小于或等于右边的值返回true

(A <= B) 返回 true。

MySQL 的 WHERE 子句的字符串比较是不区分大小写的。 你可以使用 BINARY 关键字来设定 WHERE 子句的字符串比较是区分大小写的。

 

UPDATE 查询

 

UPDATE table_name SET field1=new-value1, field2=new-value2

[WHERE Clause]

  • 你可以同时更新一个或多个字段。
  • 你可以在 WHERE 子句中指定任何条件。
  • 你可以在一个单独表中同时更新数据。

 

DELETE语句

DELETE FROM table_name

[WHERE Clause]

  • 如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。
  • 你可以在 WHERE 子句中指定任何条件
  • 您可以在单个表中一次性删除记录。

 

LIKE子句

 

LIKE condition1

使用%代表任意字符, 如果没有写% 与=相同

  • 你可以在 WHERE 子句中使用LIKE子句。
  • 你可以使用LIKE子句代替等号 =。
  • LIKE 通常与 % 一同使用,类似于一个元字符的搜索。
  • 你可以使用 AND 或者 OR 指定一个或多个条件。
  • 你可以在 DELETE 或 UPDATE 命令中使用 WHERE...LIKE 子句来指定条件。

 

 

UNION操作符

用于连接两个以上的SELECT语句的结果合到一个结果集合中.多个SELECT语句会删除重复的数据.

SELECT expression1,expression2,.....expression_n

FROM table_name

[WHERE conditions]

UNION [ALL | DISTINCT]

SELECT expression1,expression2,...expression_n

FROM table_name

[WHERE conditions];

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

 

排序

SELECT field1,field2,....fieldN

ORDER BY field,[field...] [ASC[DESC]]

  • 你可以使用任何字段来作为排序的条件,从而返回排序后的查询结果。
  • 你可以设定多个字段来排序。
  • 你可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升序排列。
  • 你可以添加 WHERE...LIKE 子句来设置条件。

 

分组

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

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

 

SELECT column_name, function(column_name)

FROM table_name

WHERE column_name operator value

GROUP BY column_name;

 

连接

JOIN按照功能分3类:

  • INNER JOIN(内连接,或等值连接) : 获取两个表中字段匹配关系的记录
  • LEFT JOIN(左连接) : 获取左表所有记录,即使又表没有对应的匹配记录
  • RIGHT JOIN(右连接): 与LEFT JOIN 相反,用于获取右表所有的记录,即使左表没有对应匹配的记录

 

 

 

INNER JOIN 等价于 WHERE

 

 

 

 

NULL值处理

  • IS NULL 当列的值是NULL,返回true
  • IS NOT NULL 当列值不为NULL,返回true
  • <=> 比较符(不同于 = ) 档比较的两个值为NULL时 返回true

关于NULL的比较运算时特殊, 不能使用 = NULL 或者 != NULL 在列中查找NULL

在MySql中NULL与任何其他值比较(包括NULL) 永远返回false 即 NULL = NULL 返回false

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值