本教程使用命令行运行MySQL数据库(注意需要以管理员身份运行命令行)
1.以root用户登录MySQL数据库:
C:\Windows\system32>mysql -u root -p
Enter password: ****
显示以下信息即登录成功:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 8.0.17 MySQL Community Server - GPL......
2.创建MySQL数据库:
mysql> CREATE DATABASE ZHOU;
显示以下信息即创建成功:
Query OK, 1 row affected (0.01 sec)
3.删除MySQL数据库:
mysql>drop database ZHOU;
显示以下信息即删除成功:
Query OK, 0 rows affected (0.02 sec)
4.使用数据库:
mysql> use ZHOU;
显示以下信息即使用成功:
Database changed
5.在数据库下创建数据表:
mysql> create table zhou_tb1(
-> zhou_id int not null auto_increment,
-> zhou_name varchar(100) not null,
-> submission_date date,
-> primary key(zhou_id)
-> )engine=innodb default charset=utf8;
注意:->为换行符,无需输入,分号;为结束符号;
auto_increment(自增属性)一般用于主键,实现自动加1功能;
primary key为主键设置,可以设置多列为主键,用逗号,隔开;
engine和charset分别为存储引擎设置和编码方式设置;
出现以下信息即为创建成功:
Query OK, 0 rows affected, 1 warning (0.07 sec)
5.删除数据表:
mysql> DROP TABLE zhou_tbl
显示以下信息即删除成功:
Query OK, 0 rows affected (0.04 sec)
6.创建数据表成功后,使用命令行查看表结构:
mysql> show tables;
+----------------+
| Tables_in_zhou |
+----------------+
| zhou_tb1 |
+----------------+
1 row in set (0.00 sec)
mysql> desc zhou_tb1;
+-----------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+----------------+
| zhou_id | int(11) | NO | PRI | NULL | auto_increment |
| zhou_name | varchar(100) | NO | | NULL | |
| submission_date | date | YES | | NULL | |
+-----------------+--------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)
接下来就是MySQL数据库的核心部分:增删查改
7.增(增加数据):
使用insert into sql语句在MySQL中增加数据条,以下为示例:
mysql> insert into zhou_tb1
-> (zhou_name,submission_date)
-> values
-> ("Tom",now());
Query OK, 1 row affected, 1 warning (0.02 sec)
mysql> insert into zhou_tb1
-> (zhou_name,submission_date)
-> values
-> ("Andy",'2020-12-20');
Query OK, 1 row affected (0.00 sec)
注意:如果数据为字符型,必须使用双引号或者单引号。
8.查(查询数据):
以下为MySQL数据库中查询数据的通用语法:
SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N][ OFFSET M]
limit属性设定返回的记录数。
以下为查询数据示例,查询整个数据表:
mysql> select*from zhou_tb1;
+---------+-----------+-----------------+
| zhou_id | zhou_name | submission_date |
+---------+-----------+-----------------+
| 1 | Tom | 2019-07-30 |
| 2 | Andy | 2020-12-20 |
+---------+-----------+-----------------+
2 rows in set (0.00 sec)
注意:本例中*星号代表其他字段,会返回所有数据
以下为使用where子句在数据表中有条件地查询数据:
(where子句主要操作符有=,!=,>,<,>=,<=)
mysql> select*from zhou_tb1 where zhou_name = 'Tom';
+---------+-----------+-----------------+
| zhou_id | zhou_name | submission_date |
+---------+-----------+-----------------+
| 1 | Tom | 2019-07-30 |
+---------+-----------+-----------------+
1 row in set (0.00 sec)
9.改(修改原有数据):
使用update语句
mysql> update zhou_tb1 set zhou_name='Olivia' where zhou_id=2;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
可以同时修改一个或者多个字段,注意用逗号分隔开;
从以下数据表看,数据表已经被修改:
mysql> select*from zhou_tb1;
+---------+-----------+-----------------+
| zhou_id | zhou_name | submission_date |
+---------+-----------+-----------------+
| 1 | Tom | 2019-07-30 |
| 2 | Olivia | 2020-12-20 |
+---------+-----------+-----------------+
2 rows in set (0.00 sec)
10.删(删除数据):
使用delete语句
mysql> delete from zhou_tb1 where zhou_id=1;
Query OK, 1 row affected (0.01 sec)
从以下数据表看,数据已经被删除:
mysql> select*from zhou_tb1;
+---------+-----------+-----------------+
| zhou_id | zhou_name | submission_date |
+---------+-----------+-----------------+
| 2 | Olivia | 2020-12-20 |
+---------+-----------+-----------------+
1 row in set (0.00 sec)