该文章为个人学习笔记,内容仅供参考

主要参考以下两个网站

{% flink %}

{% endflink %}

连接数据库

1
mysql -h hostname -u user -p

host:当前服务器主机名

user:用户名

密码:可以直接在p后面直接跟密码,如:-ppasswords;还可以p后留空回车后再输入密码。推荐使用后者,这样更安全。

创建数据库

创建一个新数据库

1
CREATE DATABASE [IF NOT EXISTS] dbname;

显示数据库

1
SHOW DATABASES;

选择数据库

1
2
3
USE dbname
# 或者在连接时选择
mysql -h hostname -u user -p dbname

创建表

查看数据库中的表

1
SHOW TABLES;

创建新表

1
2
3
4
5
6
7
CREATE TABLE tableName (listing1 dataType default value listingConstraint,
listing2 dataType default value listingConstraint,
listing3 dataType default value listingConstraint,
listing4 dataType default value listingConstraint,
......,
tableConstraint
);

表名tableName在一个数据库中必须是唯一的,括号内的内容是对每一列的列名和属性的定义通过‘,’隔开每一列,最后一列是对表的约束‘,’可以省略。

表被创建好后可以使用DESCRIBE来查看表中的列名和数据类型等属性。

1
DESCRIBE TABLES;

image-20220511172552158

对表中数据的管理

查找数据

1
SELECT 查询内容 FROM 数据表 WHERE 查询条件;
  • 查询内容可以是表中的一列或多列,* 则表示查询表中所有的列
  • 所查询的数据表应为当前数据库中存在的表
  • 查询条件可以做出合适的限定,从而只返回我们想要的数据
  • 在查询NULL内容时,WHERE后的条件不是"列=NULL",而是"列 IS NULL"

增加数据

1
2
# 单次添加一个新记录
INSERT INTO 数据表 (列名) VALUES (数据内容);
  • 列名与数据内容要一一对应
  • 如果每一列都要添加数据,列名可以省略,此时的数据内容则要包含每一列数据
  • 数据内容如果是多项用‘,'隔开
1
2
# 单次添加多个新纪录
LOAD DATA LOCAL INFILE 'fileName' INTO TABLE tableName;
  • 将要添加的数据保存到文本文件中,每行表示一个新记录,用定位符(Tab)把每一列分隔开,对于NULL值使用\N来代替。

删除数据

1
DELETE FROM 表名 WHERE 删除条件;
  • WHERE 删除条件可以省略,表示删除表中所有行

修改数据

1
2
3
4
5
6
7
UPDATE 表名 
SET
列名1=值1,
列名2=值2,
...,
WHERE
条件;
  • SET 后可修改多列,以','分隔开
  • WHERE 条件可以省略,省略后表示修改所有行中的数据