Abstract: 对MySQL数据库的简单介绍和基本操作包括创建数据库,读取数据库信息,创建表,对表中的数据进行增删改查。以及对information_schema表的理解。

一、MySQL数据库

MySQL是流行的关系型数据库管理系统。

  • 数据库:一些关联表的集合。
  • 数据表:是数据的矩阵。
  • 列:一列包含相同类型的数据,例如用户名数据。
  • 行:一行是一组相关数据,例如一条用户订阅的数据。
  • 主键:主键是唯一的,一个数据表中只能包含一个主键。可以用主键查询数据。
  • 外键:外键用于关联两个表。

二、MySQL基础应用

1. 关于数据库

1
2
3
4
5
6
#创建数据库
CREATE DATABASE mytest;
#查看数据库
SHOW DATABASES;
#使用数据库
USE mytest;

2. 关于数据表

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#创建一个名为user的数据表
CREATE TABLE `user`(
`id` SMALLINT,
`username` VARCHAR(20),
);
#查看当前数据库中所有的数据表
SHOW TABLES;
#查看创建数据库时的描述
SHOW CREATE TABLE user;
#向user表中插入一条数据
INSERT user VALUES('1', 'admin');
#向user表中插入一条记录只包含名字的信息
INSERT user(`username`) VALUES("cat");
#向user表中同时插入多条记录
INSERT user VALUES('2', 'zs'), ('3', 'ww');
#查看数据表中的所有记录
SELECT * FROM user;
#修改数据表姓名
ALERT TABLE admin RENAME TO nimda;
#更改数据
UPDATE nimda SET `id`=4;
#删除数据表
DROP TABLE user;
库名 表名 字段
用户名tb_users 名字、密码、邮箱、昵称、创建时间等
mynews 新闻表tb_news 标题、内容、作者
评论表tb_comment 新闻id、评论内容、评论用户
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#创建新的数据库
CREATE DATABASES mynews;
#查看数据库
SHOW DATABASE;
#使用mynews库
USE mynews;
#创建一个名为tb_users表
CREATE TABLE `tb_users`(
#id非空自增
`id` int(10) NOT NULL AUTO_INCREMENT,
#用户名非空唯一
`username` VARCHAR(50) NOT NULL UNIQUE,
`password` VARCHAR(50) NOT NULL,
`email` VARCHAR(50) NULL UNIQUE,
`nickname` VARCHAR(50) NOT NULL,
`safepoint` VARCHAR(50) NULL,
#头像默认
`avatarimg` VARCHAR(100) DEFAULT '/images/default_avatar.jpg',
#时间
`reg_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
`lastlogin_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
`lastlogin_ip` VARCHAR(255) NULL,
PRIMARY KEY(`id`)
);
#向tb_users表插入一条数据
INSERT INTO `mynews`.`tb_users`(`username`, `password`, `email`, `nickname`) VALUES ('zs', 'zs123', 'zs123@icq.com', 'zs123')

#创建一个名为tb_news表
create table `tb_news`(
`id` int(0) not null auto_increment,
`title` varchar(255) not null,
`contents` text not null,
`author` varchar(50) not null,
`new_img` varchar(100) null,
`add_time` timestamp default current_timestamp(),
`hot` int(0) default 0,
primary key(`id`)
);
#向tb_news表插入数据
INSERT INTO `mynews`.`tb_news`(`title`, `contents`, `author`) VALUES ('打完宽面', '吃面!吃面!', 'zs');
INSERT INTO `mynews`.`tb_news`(`title`, `contents`, `author`) VALUES ('鸡你太美', '太美!太美!', 'ww');

#创建一个名为tb_comment表
create table `tb_comment`(
`id` int(0) not null auto_increment,
`new_id` int(0) not null,
`comment_content` text not null,
`comment_user` varchar(50) not null,
`comment_time` timestamp default current_timestamp(),
primary key(`id`)
);
#向tb_comment表插入数据
INSERT INTO `mynews`.`tb_comment`(`new_id`, `comment_content`, `comment_user`) VALUES ('1', '吴亦凡', 'ww');
INSERT INTO `mynews`.`tb_comment`(`new_id`, `comment_content`, `comment_user`) VALUES ('2', '坤坤', 'zs');
#修改数据
UPDATE `mynews`.`tb_news` SET `author` = 'ls' WHERE `id` = 1;
UPDATE `tb_comment` SET `comment_content` = '蔡徐坤' WHERE `id` = 2;

ALTER TABLE `mynews`.`tb_users` ADD UNIQUE (`username`);

三、information_schema

information_schema这个数据库中保存了MySQL服务器所有数据库的信息。如数据库名,数据库的表,表中的数据类型与访问权限等。

表名 字段作用
schemata schema_name记录了所有数据库的名字
tables table_schema记录了所有数据库的名字
tables table_name记录了所有数据库的表的名字
columns table_schema记录了所有数据库的名字
columns table_name记录了所有数据库的表名字
columns column_name记录了所有数据库的表的列的名字

查询数据核心语法:

功能名称 查询语句
查库 SELECT schema_name FROM information_schema.schemata
查表 SELECT table_name FROM information_schema.tables WHERE table_schema=库名
查列 SELECT column_name FROM information_schema.columns WHERE table_name=表明
查数据 SELECT 列名 FROM 库名.表名
1
2
mysql -uroot -p mynews < path
mysqldump -uroot -p mysql > path