美文网首页
MySql基本操作(一)

MySql基本操作(一)

作者: DataArk | 来源:发表于2018-10-27 16:00 被阅读27次
  1. 从命令行中连接mysql服务器的简单实例
[root@host]# mysql -u root -p
Enter password:******
  1. 创建和删除数据库
# 创建数据库
CREATE DATABASE 数据库名;
DROP DATABASE 数据库名;
  1. 选择数据库
USE 数据库名;
  1. 数据类型

可参考:Mysql数据类型

  1. 数据类型

创建MySQL数据表需要以下信息:

  • 表名
  • 表字段名
  • 定义每个表字段
CREATE TABLE table_name (column_name column_type);
# 删除MySQL数据表
DROP TABLE table_name ;
  1. 插入数据

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

INSERT INTO table_name ( field1, field2,...fieldN )
                       VALUES
                       ( value1, value2,...valueN );
  1. 查询数据

MySQL 数据库使用SQL SELECT语句来查询数据。

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

从 MySQL 表中使用 SQL SELECT 语句来读取数据,如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中。

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
  • 查询语句中你可以使用一个或者多个表,表之间使用逗号, 分割,并使用WHERE语句来设定查询条件
  • 可以在 WHERE 子句中指定任何条件。
  • 可以使用 AND 或者 OR 指定一个或多个条件。
  • WHERE 子句也可以运用于 SQL 的 DELETE 或者 UPDATE 命令。
  • WHERE 子句类似于程序语言中的 if 条件,根据 MySQL 表中的字段值来读取指定的数据
屏幕快照 2018-10-27 15.20.19.png

现在有张表如下所示:

使用SELECT * from tencent WHERE rate > 8; 得到所有评分大于8的电影:

  1. 更新数据

如果需要修改或更新 MySQL 中的数据,可以使用 SQL UPDATE 命令来操作

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

使用UPDATE tencent SET rate= 10 WHERE movie_id = 3; 将movie_id编号为3的那一行数据的rate设置为10:

  1. 删除数据

可以使用 SQL 的 DELETE FROM 命令来删除 MySQL 数据表中的记录

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

可以使用DELETE FROM tencent WHERE movie_id = 3; 来删除movie_id为3的那行数据

  1. 选择包含某一条件的数据

例如想要选择含有 "COM" 字符的所有数据,这时就需要在 WHERE 子句中使用 SQL LIKE 子句。SQL LIKE 子句中使用百分号 %字符来表示任意字符,如果没有使用百分号 %, LIKE 子句与等号 = 的效果是一样的

SELECT field1, field2,...fieldN 
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
  • 可以在 WHERE 子句中指定任何条件。
  • 可以在 WHERE 子句中使用LIKE子句。
  • 可以使用LIKE子句代替等号 =。
  • LIKE 通常与 % 一同使用,类似于一个元字符的搜索。
  • 可以使用 AND 或者 OR 指定一个或多个条件。
  • 可以在 DELETE 或 UPDATE 命令中使用 WHERE...LIKE 子句来指定条件
  1. 排序

如果我们需要对读取的数据进行排序,我们就可以使用 MySQL 的 ORDER BY 子句来设定想按哪个字段哪种方式来进行排序,再返回搜索结果

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

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: 可选,返回所有结果集,包含重复数据

  1. 分组处理

GROUP BY 语句根据一个或多个列对结果集进行分组,在分组的列上可以使用 COUNT, SUM, AVG等函数

SELECT column_name, function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;
  1. NULL 值处理

已经知道 MySQL 使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作。为了处理这种情况,MySQL提供了三大运算符:

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

关于 NULL 的条件比较运算是比较特殊的,不能使用 = NULL 或 != NULL 在列中查找 NULL 值。在 MySQL 中,NULL 值与任何其它值的比较(即使是 NULL)永远返回 false,即 NULL = NULL 返回false 。

MySQL 中处理 NULL 使用 IS NULL 和 IS NOT NULL 运算符:

嗯,全返回,没毛病。

  1. 其他操作备注:
# 查看数据存放位置
show variables like '%datadir%';

相关文章

网友评论

      本文标题:MySql基本操作(一)

      本文链接:https://www.haomeiwen.com/subject/yvsrtqtx.html