我们平时操作MySQL数据库的步骤一共有四步:
1、链接MySQL
2、打开库
3、操作
4、关闭退出
接下来让小白带大家来通过这四步来MySQL的基本操作。
mysql -h localhost -u root -p
Microsoft Windows [版本 10.0.19041.685]
(c) 2020 Microsoft Corporation. 保留所有权利。
C:\Users\zhao>mysql -h localhost -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.7.32 MySQL Community Server (GPL)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
这样我们就通过命令连接到了数据库,但小白为大家解释一下个别字符代表的意思:
-h:服务器地址
-u:登录账号
-p:回车后输入密码
在打开库之前我们先看一下数据库默认的几个库
查看库:show databases;
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql>
我们看到默认的四个库,我打开其中mysq库来看一下:
打开库:use 库名;
mysql> use mysql;
Database changed
mysql>
打开成功,之后便可进行操作。
可能大家还有些不理解,小白刚开始学的时候也有点不理解,但在操作数据库时,小白带大家从头到尾捋一遍。
我们先了解一些语法
(1)查看数据库show databases;
(2)创建数据库create database库名default charset=utf8;
(3)删除数据库dropdatabase库名;
(4)打开数据库use库名;
我们来对这些用数据库进行操作一遍
mysql> #查看数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql> #创建数据库
mysql> create database zhang default charset=utf8;
Query OK, 1 row affected (0.01 sec)
mysql> #查看数据库 看看是否有一个名为zhang的数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| zhang |
+--------------------+
5 rows in set (0.00 sec)
对于删除数据库小白在这里就不再进行操作了,大家自己可以试一下。
接下来小白要对名为zhang这个数据库进行数据表操作。
create table if not exists表名(字段名1类型,字段名2类型)engine=innodb default charset=utf8;//如果表不存在,则创建,如果存在就不执行这条命令
mysql> create table if not exists users(
-> id int not null primary key auto_increment,
-> name varchar(4) not null,
-> age tinyint,
-> sex enum('男','女')
-> )engine=innodb default charset=utf8;
Query OK, 0 rows affected (0.24 sec)
插入数据有两种方法:
(1)将数据进行单行插入
insert into 表名(字段1,字段2,字段3)values(值1,值2,值3);
mysql> #将数据进行单行插入
mysql> insert into users(name,age,sex)values('张三',18,'男');
Query OK, 1 row affected (0.13 sec)
mysql> #查看表
mysql> select * from users;
+----+------+------+------+
| id | name | age | sex |
+----+------+------+------+
| 1 | 张三 | 18 | 男 |
+----+------+------+------+
1 row in set (0.00 sec)
(2)将数据进行多行插入
insert into表名(字段1,字段2,字段3)values(a值1,a值2,a值3),(b值1,b值2,b值3);
mysql> insert into users(name,age,sex)values('李四',19,'男'),('王五',17,'女');
Query OK, 2 rows affected (0.11 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select * from users;
+----+------+------+------+
| id | name | age | sex |
+----+------+------+------+
| 1 | 张三 | 18 | 男 |
| 2 | 李四 | 19 | 男 |
| 3 | 王五 | 17 | 女 |
+----+------+------+------+
3 rows in set (0.00 sec)
(1)查询所有
select * from 表名;
mysql> #查询users整个表;
mysql> select * from users;
+----+------+------+------+
| id | name | age | sex |
+----+------+------+------+
| 1 | 张三 | 18 | 男 |
| 2 | 李四 | 19 | 男 |
| 3 | 王五 | 17 | 女 |
+----+------+------+------+
3 rows in set (0.00 sec)
(2)根据字段来查询
select 字段1,字段2,字段3 from 表名;
mysql> #查询name和sex这两列数据
mysql> select name,sex from users;
+------+------+
| name | sex |
+------+------+
| 张三 | 男 |
| 李四 | 男 |
| 王五 | 女 |
+------+------+
3 rows in set (0.00 sec)
(3)根据字段等于某个值来查询那一行数据
select * from 表名 where 字段 = 某个值;
mysql> #根据name=z张三 来查询张三这一行数据
mysql> select * from users where name = '张三';
+----+------+------+------+
| id | name | age | sex |
+----+------+------+------+
| 1 | 张三 | 18 | 男 |
+----+------+------+------+
1 row in set (0.00 sec)
(1)update 表名 set 字段 = 某个值 where 条件;
mysql> update users set age = 55 where name = '张三';
Query OK, 1 row affected (0.17 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from users;
+------+------+------+
| name | age | sex |
+------+------+------+
| 张三 | 55 | 男 |
| 李四 | 19 | 男 |
| 王五 | 17 | 女 |
+------+------+------+
3 rows in set (0.00 sec)
(2)update 表名 set 字段1 = 值1,字段2 = 值2 where 条件;
mysql> update users set age = 22,sex = '女' where name = '李四';
Query OK, 1 row affected (0.14 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from users;
+------+------+------+
| name | age | sex |
+------+------+------+
| 张三 | 55 | 男 |
| 李四 | 22 | 女 |
| 王五 | 17 | 女 |
+------+------+------+
3 rows in set (0.00 sec)
(1)delete from 表名 where 字段 = 某个值;
mysql> delete from users where name = '张三';
Query OK, 1 row affected (0.03 sec)
mysql> select * from users;
+------+------+------+
| name | age | sex |
+------+------+------+
| 李四 | 22 | 女 |
| 王五 | 17 | 女 |
+------+------+------+
2 rows in set (0.00 sec)
exit;或quit;或\q
mysql> \q
Bye
关于数据表更加详细的操作小白会在之后的博客中持续更新哦~~~~~