MySQL学习笔记
MySQL简介:
MySQL 是最流行的关系型数据库管理系统,在WEB应用方面 MySQL 是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
数据库:
数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以通过SQL对数据库中的数据进行增加,修改,删除及查询操作。每个数据库由一系列表结构组成的,表结构又由一些字段(属性)+ 约束条件 + 数据类型组成。
MySQL常见基本指令。
- 打开cmd以管理员身份运行
- 输入net start mysql57运行MySQL(这里是MySQL5.7版本)
C:\WINDOWS\system32>net start MySQL57
请求的服务已经启动。
- 输入mysql -u root -p,以root身份进入MySQL。
C:\WINDOWS\system32>mysql -u root -p
Enter password:
- 输入密码,进入MySQL
C:\WINDOWS\system32>mysql -u root -p
Enter password: **********
1. 使用create指令建立新的数据库
mysql> create database demo1;
2. 使用show指令查看已有数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| db1 |
| demo1 |
+--------------------+
3 rows in set (0.00 sec)
3. 使用alter 指令修改数据库编码:
由于默认创建的数据库默认不支持中文字符,如果我们需要它支持中文字符,需要将它的编码设置为utf8格式:
mysql> ALTER DATABASE demo1 CHARACTER SET UTF8;
Query OK, 1 row affected (0.00 sec)
4. 使用drop指令删除数据库
mysql> drop database demo1;
Query OK, 3 rows affected, 2 warnings (0.04 sec)
可以通过show指令查看是否已经删除
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| db1 |
+--------------------+
2 rows in set (0.00 sec)
1. 新建一个数据库,用于后续操作
mysql> create database demo1;
Query OK, 1 row affected (0.00 sec)
2. 查看所有数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| db1 |
| demo1 |
+--------------------+
3 rows in set (0.00 sec
3. 通过use指令进入数据库,否则后续所有对表操作不会成功
mysql> use demo1;
Database changed
4. 使用create指令在当前数据库中新建一个表
这里创建的表名为:student,表中含有 id, name, age 三个字段。
mysql> create table student(
-> id int(12) not null,
-> name varchar(20) not null,
-> age int (3) not null);
Query OK, 0 rows affected (0.03 sec)
5. 通过show指令显示当前数据库中的所有表
mysql> show tables;
+-----------------+
| Tables_in_demo1 |
+-----------------+
| student |
+-----------------+
1 row in set (0.00 sec)
6. 查看建立表student中的所有字段
mysql> desc student;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(12) | NO | | NULL | |
| name | varchar(20) | NO | | NULL | |
| age | int(3) | NO | | NULL | |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
7. 使用alter指令向表中添加新的字段
mysql> alter table student add shool bool;
Query OK, 0 rows affected (0.07 sec)
Records: 0 Duplicates: 0 Warnings: 0
8. 查看字段是否添加成功
mysql> desc student;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(12) | NO | | NULL | |
| name | varchar(20) | NO | | NULL | |
| age | int(3) | NO | | NULL | |
| shool | tinyint(1) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
9.使用drop指令删除表中的字段
mysql> alter table student DROP column shool;
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0
下面表示删除成功
mysql> desc student;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(12) | NO | | NULL | |
| name | varchar(20) | NO | | NULL | |
| age | int(3) | NO | | NULL | |
+-------+-------------+------+-----+---------+-------+
1. 向表中添加第一条数据为id = 1 name = Tom, age = 18
mysql> insert into student values(1, 'Tom', 18);
Query OK, 1 row affected (0.00 sec)
通过select指令查看表中的数据
mysql> select *from student;
+----+------+-----+
| id | name | age |
+----+------+-----+
| 1 | Tom | 18 |
+----+------+-----+
1 row in set (0.00 sec)
2. 向表中多添加几条数据:
mysql> insert into student values(2, 'Jack', 16);
Query OK, 1 row affected (0.00 sec)
mysql> insert into student values(3, 'Lucy', 19);
Query OK, 1 row affected (0.00 sec)
mysql> insert into student values(44, 'Rocky', 20);
Query OK, 1 row affected (0.00 sec)
然后查看:
mysql> select *from student;
+----+-------+-----+
| id | name | age |
+----+-------+-----+
| 1 | Tom | 18 |
| 2 | Jack | 16 |
| 3 | Lucy | 19 |
| 44 | Rocky | 20 |
+----+-------+-----+
4 rows in set (0.00 sec)
3. 使用delete指令删除表中数据
mysql> delete from student where id = 44;
Query OK, 1 row affected (0.00 sec)
再次通过select指令查看表中数据
mysql> select *from student;
+----+------+-----+
| id | name | age |
+----+------+-----+
| 1 | Tom | 18 |
| 2 | Jack | 16 |
| 3 | Lucy | 19 |
+----+------+-----+
3 rows in set (0.00 sec)
这里可以看到id = 44的数据已经被删除了。
4. 通过update指令可以修改表中的数据
mysql> update student set age = 17 where age = 16;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
通过select指令查询表中的数据可以发现第二条数据中age = 16已经被修改成了17。
mysql> select *from student;
+----+------+-----+
| id | name | age |
+----+------+-----+
| 1 | Tom | 18 |
| 2 | Jack | 17 |
| 3 | Lucy | 19 |
+----+------+-----+
3 rows in set (0.00 sec)