MySQL数据库基础

来源:互联网 发布:物理数据库模型 编辑:程序博客网 时间:2024/06/08 02:54

创建数据库

CREATE DATABASE IF NOT EXISTS runoob;/*创建数据库*/

删除数据库

  在执行删除命令后,所有数据将会消失

DROP DATABASE RUNOOB;/*删除数据库*/

选择数据库

use runoob;/*选择了RUNOOB数据库,在后续的操作中都会在 RUNOOB 数据库中执行*/

创建数据表 CREATE TABLE命令

  语法

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命令

  语法

DROP TABLE table_name;
DROP TABLE runoob_tbl;/*删除数据表 runoob_tbl*/

插入数据 INSERT INTO命令

  语法

INSERT INTO table_name ( field1, field2,...fieldN )                       VALUES                       ( value1, value2,...valueN );
INSERT INTO runoob_tbl (runoob_title,runoob_author, submission_date) VALUES ("学习MySQL", "菜鸟教程","2017-9-6");/*向数据表 runoob_tbl 插入数据*/

查询数据 SELECT命令

  语法

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

  查询所有记录

select * from runoob_tbl;/*查询数据表runoob_tbl的所有记录*/

  查询部分记录

SELECT runoob_id, runoob_title FROM runoob_tbl;/*查询数据表runoob_tbl的部分列记录*/

修改数据 UPDATE查询

  语法

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

  UPDATE替换字段中的全部字符

UPDATE runoob_tbl SET runoob_title="学习 Python" WHERE runoob_id=3;

  UPDATE替换字段中的某个字符

UPDATE runoob_tbl SET runoob_title = REPLACE(runoob_title, 'C++', 'Python') where runoob_id = 3;/*更新runoob_id为3的runoob_title 字段值的 "C++" 替换为 "Python"*/

删除数据 DELETE语句

  语法

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

删除所有记录

DELETE FROM runoob_tbl;/*表中所有记录都被删除,但是表本身没有被删除*/

WHERE子句

  语法

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表中的字段值来读取指定的数据。
SELECT * from runoob_tbl WHERE runoob_author='菜鸟教程';

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

SELECT * from runoob_tbl WHERE BINARY runoob_author='菜鸟教程';

LIKE子句

  语法

SELECT field1, field2,...fieldN FROM table_nameWHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
  • 你可以在 WHERE 子句中指定任何条件。
  • 你可以在 WHERE 子句中使用LIKE子句。
  • LIKE 通常与 % 一同使用,类似于一个元字符的搜索。
  • 你可以使用 AND 或者 OR 指定一个或多个条件。
  • 你可以在 DELETE 或 UPDATE 命令中使用 WHERE…LIKE 子句来指定条件。
  • ‘%’表示匹配多个字符,’_’表示匹配一个字符
  • LIKE子句没有’%’或’_’则相当于”=”
SELECT * from runoob_tbl  WHERE runoob_author LIKE '%COM';/*将 runoob_tbl 表中获取 runoob_author 字段中以 COM 为结尾的的所有记录*/