1.创建数据库

create命令用于创建数据库。

mysql> create database <数据库名>;

2.显示所有数据库

mysql> show databases

3.删除数据库

drop命令用于删除数据库。

mysql> drop database <数据库名>;

4.使用数据库

mysql> use <数据库名>;

5.创建数据表

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

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

以下为创建MySQL数据表的SQL通用语法:

CREATE TABLE table_name (column_name column_type);

创建数据表article:

CREATE TABLE IF NOT EXISTS `article`(
   `pk_id` INT UNSIGNED AUTO_INCREMENT,
   `title` VARCHAR(100) NOT NULL,
   `author` VARCHAR(40) NOT NULL,
   `release_date` DATE,
   PRIMARY KEY ( `pk_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

补充:

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

6.获取表结构

mysql> desc <表名>

mysql数据库建表空间 mysql创建表空间及用户命令_数据

7.插入数据

mysql> INSERT INTO article ( pk_id, title,author,release_date )
                       VALUES
                       ( 1, "小菜鸡","Java程序鱼",now() );

8.查询数据

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

以下为在MySQL数据库中查询数据通用的 SELECT 语法:

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

案例:查询Java程序鱼创作的文章

mysql > select * from article where author = "Java程序鱼"

有小伙伴问,我想模糊查询Java关键字怎么操作?

mysql > select * from article where author like "%Java%"

带java关键字的全部都可以查询出来

WHERE 字句

我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据。

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

以下是 SQL SELECT 语句使用 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 表中的字段值来读取指定的数据。

以下为操作符列表,可用于 WHERE 子句中。
下表中实例假定 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 子句是非常有用的。

使用主键来作为 WHERE 子句的条件查询是非常快速的。

如果给定的条件在表中没有任何匹配的记录,那么查询不会返回任何数据。

排序

我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据。

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

以下是 SQL SELECT 语句使用 ORDER BY 子句将查询数据排序后再返回数据:

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
ORDER BY field1 [ASC [DESC][默认 ASC]], [field2...] [ASC [DESC][默认 ASC]]
  • 你可以使用任何字段来作为排序的条件,从而返回排序后的查询结果。
  • 你可以设定多个字段来排序。
  • 你可以使用 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;

9.修改数据

update 表名 set title="小菜鸡1" where id = 1

我们把title设置为【小菜鸡1】,只针对ID=1这行记录。

10.删除数据

delete from 表名 where id = 1

把ID等于1的记录删除

11.增加字段

alter add命令用来增加表的字段。

例如,在表article中添加了一个字段update_time,类型为date:

mysql> alter table article add update_time date;

(1)加索引

mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);

(2) 加主关键字的索引

mysql> alter table 表名 add primary key (字段名);

(3) 加唯一限制条件的索引

mysql> alter table 表名 add unique 索引名 (字段名);

(4) 删除某个索引

mysql> alter table 表名 drop index 索引名;

例子: mysql>alter table employee drop index emp_name;

(5)增加字段

mysql> ALTER TABLE table_name ADD field_name field_type;

(6)修改原字段名称及类型

mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;

(7)删除字段

mysql> ALTER TABLE table_name DROP field_name;

12.删除表

DROP TABLE table_name ;