MySQL基础语法命令

时间:2020-12-23 07:08:04

1. 建表

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

  • 表名
  • 表字段名
  • 定义每个表字段

通用语法:

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;

实例解析:

  • 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
  • AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
  • PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
  • ENGINE 设置存储引擎,CHARSET 设置编码。

删表语法:

DROP TABLE table_name ;

2. 增删改查

(1)插入数据:INSERT INTO

语法:

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

实例:

INSERT INTO runoob_tbl  (runoob_title, runoob_author, submission_date)
VALUES
("学习 PHP", "菜鸟教程", NOW());

(2)查询数据:SELECT

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]

解析:

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

(3)更新数据:UPDATE

语法:

UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]

实例:

UPDATE runoob_tbl SET runoob_title='学习 C++' WHERE runoob_id=;

解析:更新 runoob_id 为3的 runoob_title 字段的数据。

(4)删除数据:DELETE

语法:

DELETE FROM table_name [WHERE Clause]

语法解析:

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

实例:

DELETE FROM runoob_tbl WHERE runoob_id=3;

实例解析:删除 runoob_tbl 表中 runoob_id 为3 的记录。

3. 子句语法

(1)WHERE子句

语法:

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....

语法解析:以上为SELECT 语句使用 WHERE 子句从数据表中读取数据的通用语法,其他类似。

  • 查询语句中你可以使用一个或者多个表,表之间使用逗号, 分割,并使用WHERE语句来设定查询条件。
  • 你可以在 WHERE 子句中指定任何条件。
  • 你可以使用 AND 或者 OR 指定一个或多个条件。
  • WHERE 子句也可以运用于 SQL 的 DELETE 或者 UPDATE 命令。
  • WHERE 子句类似于程序语言中的 if 条件,根据 MySQL 表中的字段值来读取指定的数据。
  • WHERE 子句的字符串比较是不区分大小写的。 可以使用 BINARY 关键字来设定 WHERE 子句的字符串比较是区分大小写。 WHERE BINARY。

操作符列表:

操作符 描述 实例
= 等号,检测两个值是否相等,如果相等返回true (A = B) 返回false。
<>, != 不等于,检测两个值是否相等,如果不相等返回true (A != B) 返回 true。
> 大于号,检测左边的值是否大于右边的值, 如果左边的值大于右边的值返回true (A > B) 返回false。
< 小于号,检测左边的值是否小于右边的值, 如果左边的值小于右边的值返回true (A < B) 返回 true。
>= 大于等于号,检测左边的值是否大于或等于右边的值, 如果左边的值大于或等于右边的值返回true (A >= B) 返回false。
<= 小于等于号,检测左边的值是否小于于或等于右边的值, 如果左边的值小于或等于右边的值返回true (A <= B) 返回 true

实例:

SELECT runoob_id, runoob_title, runoob_author, submission_date
FROM runoob_tbl
WHERE runoob_author="RUNOOB.COM"

实例解析:读取 runoob_author 为 RUNOOB.COM 的数据

(2)LIKE子句

语法:

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

语法解析:

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

实例:

SELECT * from runoob_tbl  WHERE runoob_author LIKE '%COM';

实例解析:从 runoob_tbl 表中获取 runoob_author 字段中以 COM 为结尾的的所有记录

4. 其他语法

(1)UNION 合并

(2)ORDER BY 排序

(3)GROUP BY 分组

(4)JION 连接

(5)ALTER 修改表

转自:菜鸟教程 http://www.runoob.com/mysql/mysql-tutorial.html