MySQL的常用简单操作

写在前面 不要轻易删除数据库文件,否则卸载重装很麻烦
mysql的安装、初始化以及环境变量配置等不再重复,本文用以记录对mysql的常用操作。
1 . 连接数据库,开启cmd进入命令行下,在进入到数据库安装的目录的bin目录下,输入mysql -uroot -p 回车,输入密码,再回车即可连接到数据库。
2. 查看都有哪些数据库,输入命令

show databases;

显示出数据库都有哪些,第一次使用的时候只有如下四个

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

3.创建数据库。

create database 数据库名字;

注意:创建数据库时,数据库名字你不带分号。再次执行show databases会显示出刚创建的数据库。
4. 删除数据库。执行 drop database 数据库名称 即可删除此数据库。
5. 选择数据库。即进入到特定的某个数据库里面进行操作,只有进入到了数据库中才能完成数据库中表的创建删除等操作。执行use 数据库名称 即可。

mysql> use test01;
Database changed

6.对数据库进行操作,数据库是由许多表组成的,所以对数据库的操作可以认为是对表的操作。
创建数据表。创建数据表需要:表明、表字段名、定义每个表字段,
如果你不想字段为 null 可以设置字段的属性为not null, 在操作数据库时如果输入该字段的数据为null ,就会报错。
auto_increment定义列为自增的属性,一般用于主键,数值会自动加1。
primary key 关键字用于定义列为主键
engine 设置存储引擎,charset 设置编码。示例:

mysql> create table t1
    -> (t1_id int not null auto_increment,
    -> t1_name varchar(40) not null,
    -> t1_author varchar(40) not null,
    -> t1_price int not null,
    -> primary key (t1_id)
    -> )engine=innodb default charset=utf8;
Query OK, 0 rows affected (2.43 sec)

mysql> show tables;
+------------------+
| Tables_in_test02 |
+------------------+
| t1               |
+------------------+
1 row in set (0.00 sec)

以上实现了创建一个数据表,并验证是否创建成功。
7.删除数据表,和删除数据库语法相似。输入drop table 数据表名 即可。
8.往数据表插入数据.现在数据表已经创建好了但里面还没有数据,向数据表中插入数据方法很简单:注意:如果数据是字符型,必须使用单引号或者引号,如:“value”。
向数据表中添加数据可以一行一行添加,如下

mysql> insert into t1
    -> (t1_name,t1_author,t1_price)
    -> values
    -> ("西游记","吴承恩",75);
Query OK, 1 row affected (2.24 sec)

多行数据一次性添加,如下

mysql> insert into t1
    -> (t1_name,t1_author,t1_price)
    -> values
    -> ("水浒传","施耐庵",78),
    -> ("三国演义","罗贯中",80),
    -> ("红楼梦","曹雪芹",85);
Query OK, 3 rows affected (2.17 sec)
Records: 3  Duplicates: 0  Warnings: 0

9.查询数据表。对于以上的向数据表中插入数据如何得知成功与否呢,执行select * from 数据表名称即可,对于之前的插入操作验证如下

mysql> select * from t1;
+-------+--------------+-----------+----------+
| t1_id | t1_name      | t1_author | t1_price |
+-------+--------------+-----------+----------+
|     1 | 西游记       | 吴承恩    |       75 |
|     2 | 水浒传       | 施耐庵    |       78 |
|     3 | 三国演义     | 罗贯中    |       80 |
|     4 | 红楼梦       | 曹雪芹    |       85 |
+-------+--------------+-----------+----------+

10.更新数据。也即是把表中的数据更改,比如书的价格改变了就需要变动price
所以只需执行 类似update t1set t1_price=82 where t1_name='红楼梦' ;步骤即可,结果如下:

mysql> update t1 set t1_price=82 where t1_name='红楼梦';
Query OK, 1 row affected (2.20 sec)
Rows matched: 1  Changed: 1  Warnings:
mysql> select * from t1;
+-------+--------------+-----------+----------+
| t1_id | t1_name      | t1_author | t1_price |
+-------+--------------+-----------+----------+
|     1 | 西游记       | 吴承恩    |       75 |
|     2 | 水浒传       | 施耐庵    |       78 |
|     3 | 三国演义     | 罗贯中    |       80 |
|     4 | 红楼梦       | 曹雪芹    |       82 |
+-------+--------------+-----------+----------+

11.删除数据表中的指定数据:delete from t1 where t1_id=1;重新查询一下就会发现 t1_id=1 的那一行被删除。

mysql> delete from t1 where t1_id=1;
Query OK, 1 row affected (2.23 sec)

mysql> select * from t1;
+-------+--------------+-----------+----------+
| t1_id | t1_name      | t1_author | t1_price |
+-------+--------------+-----------+----------+
|     2 | 水浒传       | 施耐庵    |       78 |
|     3 | 三国演义     | 罗贯中    |       80 |
|     4 | 红楼梦       | 曹雪芹    |       82 |
+-------+--------------+-----------+----------+
3 rows in set (0.00 sec)

12.like 用法:向 t1 表中加入几个数据,可以使用like子句代替等号 =,like 通常与 % 一同使用,类似于一个元字符的搜索。
示例:select * from t1 where t1_author like ('%xml');

mysql> select * from t1 where t1_author like('%.xml');
+-------+---------+-----------+----------+
| t1_id | t1_name | t1_author | t1_price |
+-------+---------+-----------+----------+
|     5 | 1.name  | 1.xml     |      100 |
|     6 | 3.name  | 3.xml     |      300 |
|     7 | 2.name  | 2.xml     |      200 |
+-------+---------+-----------+----------+
3 rows in set (0.00 sec)

13.order by 可以用来排序。例如:t1_price 按升序排列:select * from t1 order by t1_price asc;

mysql> select * from t1 order by t1_price asc;
+-------+--------------+-----------+----------+
| t1_id | t1_name      | t1_author | t1_price |
+-------+--------------+-----------+----------+
|     2 | 水浒传       | 施耐庵    |       78 |
|     3 | 三国演义     | 罗贯中    |       80 |
|     4 | 红楼梦       | 曹雪芹    |       82 |
|     5 | 1.name       | 1.xml     |      100 |
|     7 | 2.name       | 2.xml     |      200 |
|     6 | 3.name       | 3.xml     |      300 |
+-------+--------------+-----------+----------+
6 rows in set (0.00 sec)

按t1_id降序排列,如下

mysql> select * from t1 order by t1_id desc;
+-------+--------------+-----------+----------+
| t1_id | t1_name      | t1_author | t1_price |
+-------+--------------+-----------+----------+
|     7 | 2.name       | 2.xml     |      200 |
|     6 | 3.name       | 3.xml     |      300 |
|     5 | 1.name       | 1.xml     |      100 |
|     4 | 红楼梦       | 曹雪芹    |       82 |
|     3 | 三国演义     | 罗贯中    |       80 |
|     2 | 水浒传       | 施耐庵    |       78 |
+-------+--------------+-----------+----------+
6 rows in set (0.00 sec)

14.改变数据表名:一般不会更改,如果要改,则执行alter table t1 rename t11;即可

mysql> alter table t1 rename t11;
Query OK, 0 rows affected (2.38 sec)

mysql> show tables;
+------------------+
| Tables_in_test02 |
+------------------+
| t11              |
+------------------+
1 row in set (0.00 sec)

15.添加列表。执行alter table t2 add column t1_time varchar(15);

mysql> alter table t11 add column t1_time varchar(50);
Query OK, 0 rows affected (2.71 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> select * from t11;
+-------+--------------+-----------+----------+---------+
| t1_id | t1_name      | t1_author | t1_price | t1_time |
+-------+--------------+-----------+----------+---------+
|     2 | 水浒传       | 施耐庵    |       78 | NULL    |
|     3 | 三国演义     | 罗贯中    |       80 | NULL    |
|     4 | 红楼梦       | 曹雪芹    |       82 | NULL    |
|     5 | 1.name       | 1.xml     |      100 | NULL    |
|     6 | 3.name       | 3.xml     |      300 | NULL    |
|     7 | 2.name       | 2.xml     |      200 | NULL    |
+-------+--------------+-----------+----------+---------+
6 rows in set (0.00 sec)

mysql> update t11 set t1_time="这本书是2015年出版的" where t1_name='三国演义';
Query OK, 1 row affected (2.19 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from t11;
+-------+--------------+-----------+----------+------------------------------+
| t1_id | t1_name      | t1_author | t1_price | t1_time                      |
+-------+--------------+-----------+----------+------------------------------+
|     2 | 水浒传       | 施耐庵    |       78 | NULL                         |
|     3 | 三国演义     | 罗贯中    |       80 | 这本书是2015年出版的         |
|     4 | 红楼梦       | 曹雪芹    |       82 | NULL                         |
|     5 | 1.name       | 1.xml     |      100 | NULL                         |
|     6 | 3.name       | 3.xml     |      300 | NULL                         |
|     7 | 2.name       | 2.xml     |      200 | NULL                         |
+-------+--------------+-----------+----------+------------------------------+
6 rows in set (0.00 sec)

猜你喜欢

转载自blog.csdn.net/qq_43060759/article/details/83625569