您现在的位置是: 网站首页> MySQL MySQL
MySQL的基本操作与使用(2)
Smile 2019-08-31 04:06:15 MySQL 阅读:1361
简介MySQL 是最流行的关系型数据库管理系统,在web应用开发中大量使用,与PHP和Apache堪称web开发中的黄金搭档,并且开源免费,备受开发者的喜爱,本文讲解MySQL一些基本操作和使用,让你快速掌握 MySQL 的基本知识,并轻松使用 MySQL 数据库。
1、查看数据表数据
mysql> select * from article;
+----+-------+--------+---------+
| id | title | author | content |
+----+-------+--------+---------+
| 1 | ykl | ykl | ykl |
+----+-------+--------+---------+
1 row in set (0.11 sec)
2、WHERE子句可以根据条件从表中查询数据,示例
mysql> SELECT * FROM article WHERE title='ykl';
+----+-------+--------+---------+
| id | title | author | content |
+----+-------+--------+---------+
| 1 | ykl | ykl | ykl |
+----+-------+--------+---------+
1 row in set (0.00 sec)
3、插入数据
(1)插入一条数据
mysql> INSERT INTO article(title, author, content) VALUES("MySQL", "YKl", "MySQL的基本使用");
Query OK, 1 row affected (0.12 sec)
(2)插入多条数据
INSERT INTO article(title, author, content) VALUES
("MySQL", "YKl", "MySQL的基本使用"),
("MySQL", "YKl", "MySQL的基本使用"),
("MySQL", "YKl", "MySQL的基本使用");
输出
mysql> INSERT INTO article(title, author, content) VALUES
-> ("MySQL", "YKl", "MySQL的基本使用"),
-> ("MySQL", "YKl", "MySQL的基本使用"),
-> ("MySQL", "YKl", "MySQL的基本使用");
Query OK, 3 rows affected (0.15 sec)
Records: 3 Duplicates: 0 Warnings: 0
4、更新数据
mysql> UPDATE article SET title='修改MySQL',author="yy" WHERE id=2;
Query OK, 1 row affected (0.13 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> SELECT * from article WHERE id=2;
+----+-------------+--------+----------------------+
| id | title | author | content |
+----+-------------+--------+----------------------+
| 2 | 修改MySQL | yy | MySQL的基本使用 |
+----+-------------+--------+----------------------+
1 row in set (0.00 sec)
5、删除数据
mysql> DELETE FROM article WHERE id=5;
Query OK, 1 row affected (0.14 sec)
注:删除数据时很有必要加上WHERE条件,没带WHERE条件将会删除整个数据表的数据
6、LIKE子句模糊查询
mysql> SELECT * from article WHERE title LIKE '%MySQL%';
+----+-------------+--------+----------------------+
| id | title | author | content |
+----+-------------+--------+----------------------+
| 2 | 修改MySQL | yy | MySQL的基本使用 |
| 3 | MySQL | YKl | MySQL的基本使用 |
| 4 | MySQL | YKl | MySQL的基本使用 |
+----+-------------+--------+----------------------+
3 rows in set (0.09 sec)
7、ORDER BY 子句对查询数据排序
(1)按照id进行升序排序
mysql> SELECT * from article ORDER BY id ASC;
+----+-------------+--------+----------------------+
| id | title | author | content |
+----+-------------+--------+----------------------+
| 1 | ykl | ykl | ykl |
| 2 | 修改MySQL | yy | MySQL的基本使用 |
| 3 | MySQL | YKl | MySQL的基本使用 |
| 4 | MySQL | YKl | MySQL的基本使用 |
+----+-------------+--------+----------------------+
4 rows in set (0.00 sec)
(2)按照id进行降序排序
mysql> SELECT * from article ORDER BY id DESC;
+----+-------------+--------+----------------------+
| id | title | author | content |
+----+-------------+--------+----------------------+
| 4 | MySQL | YKl | MySQL的基本使用 |
| 3 | MySQL | YKl | MySQL的基本使用 |
| 2 | 修改MySQL | yy | MySQL的基本使用 |
| 1 | ykl | ykl | ykl |
+----+-------------+--------+----------------------+
4 rows in set (0.00 sec)
8、使用 GROUP BY 语句 将文章表按标题进行分组,并统计相同标题的有多少条记录
mysql> SELECT title, COUNT(*) FROM article GROUP BY title;
+-------------+----------+
| title | COUNT(*) |
+-------------+----------+
| MySQL | 2 |
| ykl | 1 |
| 修改MySQL | 1 |
+-------------+----------+
3 rows in set (0.00 sec)
9、使用JOIN连接表进行多表查询
- INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录
- LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录
- RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录
文章表数据
mysql> select * from article;
+----+-------------+--------+----------------------+------+
| id | title | author | content | cid |
+----+-------------+--------+----------------------+------+
| 1 | ykl | ykl | ykl | 1 |
| 2 | 修改MySQL | yy | MySQL的基本使用 | 2 |
| 3 | MySQL | YKl | MySQL的基本使用 | 2 |
| 4 | MySQL | YKl | MySQL的基本使用 | 2 |
+----+-------------+--------+----------------------+------+
4 rows in set (0.00 sec)
分类表数据
mysql> select * from category;
+----+-----------+
| id | name |
+----+-----------+
| 1 | 日记 |
| 2 | 数据库 |
+----+-----------+
2 rows in set (0.00 sec)
查询id=1的文章分类名
mysql> SELECT a.*,c.name FROM article a INNER JOIN category c ON a.cid = c.id;
+----+-------------+--------+----------------------+------+-----------+
| id | title | author | content | cid | name |
+----+-------------+--------+----------------------+------+-----------+
| 1 | ykl | ykl | ykl | 1 | 日记 |
| 2 | 修改MySQL | yy | MySQL的基本使用 | 2 | 数据库 |
| 3 | MySQL | YKl | MySQL的基本使用 | 2 | 数据库 |
| 4 | MySQL | YKl | MySQL的基本使用 | 2 | 数据库 |
+----+-------------+--------+----------------------+------+-----------+
4 rows in set (0.00 sec)
另外连表也可以这么连,等同于上面的操作
mysql> SELECT a.*, c.name FROM article a, category c WHERE a.cid = c.id;
+----+-------------+--------+----------------------+------+-----------+
| id | title | author | content | cid | name |
+----+-------------+--------+----------------------+------+-----------+
| 1 | ykl | ykl | ykl | 1 | 日记 |
| 2 | 修改MySQL | yy | MySQL的基本使用 | 2 | 数据库 |
| 3 | MySQL | YKl | MySQL的基本使用 | 2 | 数据库 |
| 4 | MySQL | YKl | MySQL的基本使用 | 2 | 数据库 |
+----+-------------+--------+----------------------+------+-----------+
4 rows in set (0.07 sec)
10、关于MySQL的NULL值的查询
首先查看一下文章数据
mysql> select * from article;
+----+-------------+--------+----------------------+-----+
| id | title | author | content | cid |
+----+-------------+--------+----------------------+-----+
| 1 | ykl | ykl | ykl | 1 |
| 2 | 修改MySQL | yy | MySQL的基本使用 | 2 |
| 3 | MySQL | NULL | MySQL的基本使用 | 2 |
| 4 | MySQL | YKl | MySQL的基本使用 | 2 |
+----+-------------+--------+----------------------+-----+
4 rows in set (0.00 sec)
结果发现一条作者为NULL的数据,当你尝试使用 = 和 != 运算符查询时会发现查询不到数据
mysql> select * from article where author=NULL;
Empty set (0.00 sec)
mysql> select * from article where author!=NULL;
Empty set (0.00 sec)
这时因为在 MySQL 中,NULL 值与任何其它值的比较(即使是 NULL)永远返回 NULL,需要用 IS NULL 和 IS NOT NULL 查询
mysql> select * from article where author IS NULL;
+----+-------+--------+----------------------+-----+
| id | title | author | content | cid |
+----+-------+--------+----------------------+-----+
| 3 | MySQL | NULL | MySQL的基本使用 | 2 |
+----+-------+--------+----------------------+-----+
1 row in set (0.00 sec)
mysql> select * from article where author IS NOT NULL;
+----+-------------+--------+----------------------+-----+
| id | title | author | content | cid |
+----+-------------+--------+----------------------+-----+
| 1 | ykl | ykl | ykl | 1 |
| 2 | 修改MySQL | yy | MySQL的基本使用 | 2 |
| 4 | MySQL | YKl | MySQL的基本使用 | 2 |
+----+-------------+--------+----------------------+-----+
3 rows in set (0.00 sec)
很赞哦! (0)
上一篇:MySQL的基本操作与使用(1)
下一篇:MySQL的进阶操作与使用