第一章 初识数据库

本章节我们将初步的了解数据库,学习如何启动关闭服务器以及创建数据库的过程。

1.连接本地服务器

注意大小写: 密码是 -P 端口号是 -p
清屏:cls
mysql -V (version) –输出版本信息并且退出
mysql -u(用户名)root -p(密码) -P(端口号) 3306 -h(服务器名称)172.0.0.1

启动服务器

1
2
3
C:\Windows\system32>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。

再连接到本地服务器

1
2
3
4
5
6
7
8
9
10
11
12
13
C:\Windows\system32>mysql -uroot -p -P3306 -h127.0.0.1
Enter password: ****
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.62 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, 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.

其中-u后面跟的是你的用户名,输入密码后即连接。当为连接本地服务器时,
-P与-h可以省略。

退出连接

MySQL的退出:
mysql > exit;
mysql > quit;
mysql > \q

1
2
mysql> exit
Bye

关闭服务器

1
2
3
C:\Windows\system32>net stop mysql
MySQL 服务正在停止.
MySQL 服务已成功停止。

CMD命令 : cls清屏。

2.修改提示符

MySQL提示符:
参数            描述
\D            完整的日期
\d            当前数据库
\h            服务器名称
\u            当前用户

修改mysql提示符有两种方式:
1)在连接客户端时使用:mysql -uroot -p –prompt \h /\h是表示以服务器名作为提示符/
2)在连接客户端后使用:mysql prompt mysql> /又会变为“mysql>”为提示符/

开启服务后,我们可以在连接客户端时就行修改提示符:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
C:\Windows\system32>mysql -uroot -proot --prompt \u
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.62 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, 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.

root

修改为了root

连接客户端以后可以更改:

1
2
3
root prompt \u >
PROMPT set to '\u >'
root >

设置为了root >

3.常用命令及语法规则

常用的命令:

1) SELECT VERSION();显示当前版本
2) SELECT NOW();显示当前日期
3) SELECT USER();显示当前用户

语句的规范:

1) 关键字和函数名全部大写;
2) 数据库名和表名、字段全部小写;
3) 必须以分号结尾;

查看版本

1
2
3
4
5
6
7
root >SELECT VERSION();
+-----------+
| VERSION() |
+-----------+
| 5.5.62 |
+-----------+
1 row in set (0.00 sec)

不加分号结尾

1
2
3
4
5
root >SELECT VERSION()
->
->
->
->

如果使用小写:

1
2
3
4
5
6
7
root >select version();
+-----------+
| version() |
+-----------+
| 5.5.62 |
+-----------+
1 row in set (0.00 sec)

也可以通过,只是我们一般默认大写。

4.操作数据库

1)创建数据库

CREATE {DATABASE | SCHEMA}[IF NOT EXITS] db_name

说明:
{A|B}:A和B选一个;
[ A ]: 可加也可不加;

创建一个t1数据库

1
2
root >CREATE DATABASE t1;
Query OK, 1 row affected (0.00 sec)

再创建一个t1数据库

1
2
root >CREATE DATABASE t1;
ERROR 1007 (HY000): Can't create database 't1'; database exists

就会产生错误
如果加上IF NOT EXISTS

1
2
root >CREATE DATABASE IF NOT EXISTS t1;
Query OK, 1 row affected, 1 warning (0.00 sec)

就不会报错,只有一个警告。
下面我们查看警告信息

1
2
3
4
5
6
7
root >SHOW WARNINGS;
+-------+------+---------------------------------------------+
| Level | Code | Message |
+-------+------+---------------------------------------------+
| Note | 1007 | Can't create database 't1'; database exists |
+-------+------+---------------------------------------------+
1 row in set (0.00 sec)

可以看出t1数据库已经存在,不能创建。

2)设置编码格式

[DEFAULT] CHARACTE SET [=] charset_name
刚刚在创建数据库t1时,我们并没有设置其编码格式,因此为默认的编码(utf8)下面进行验证:

查看编码格式

1
2
3
4
5
6
7
root >SHOW CREATE DATABASE t1;
+----------+-------------------------------------------------------------+
| Database | Create Database |
+----------+-------------------------------------------------------------+
| t1 | CREATE DATABASE `t1` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+-------------------------------------------------------------+
1 row in set (0.00 sec)

创建其它编码的数据库

1
2
3
4
5
6
7
8
9
10
root >CREATE DATABASE IF NOT EXISTS t2 CHARACTER SET gbk;
Query OK, 1 row affected (0.00 sec)

root >SHOW CREATE DATABASE t2;
+----------+------------------------------------------------------------+
| Database | Create Database |
+----------+------------------------------------------------------------+
| t2 | CREATE DATABASE `t2` /*!40100 DEFAULT CHARACTER SET gbk */ |
+----------+------------------------------------------------------------+
1 row in set (0.00 sec)

当我们又想要更改数据库t2的编码格式时,如果使用删掉再重新创建的方式,无疑浪费我们的时间,因此我们使用如下方式:
ALERT {DATABASE | SCHEMA}[db_name]
[DEFAULT] CHARACTE SET [=]charset_name

改变编码格式

1
2
3
4
5
6
7
8
9
10
root >ALTER DATABASE t2 CHARACTER SET utf8;
Query OK, 1 row affected (0.00 sec)

root >SHOW CREATE DATABASE t2;
+----------+-------------------------------------------------------------+
| Database | Create Database |
+----------+-------------------------------------------------------------+
| t2 | CREATE DATABASE `t2` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+-------------------------------------------------------------+
1 row in set (0.00 sec)

3)查看当前服务器下的数据库

1
2
3
4
5
6
7
8
9
10
11
12
13
SHOWDATABASES | SCHEMAS}
root >SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| t1 |
| t2 |
| test |
+--------------------+
6 rows in set (0.00 sec)

可以看到t1,t2 已经被加入进去,而且里面还有MySQL自带的四个数据库。

4)删除数据库

DORP {DATABASE | SCHEMA}[IF EXISTS] db_name;

删除t2数据库

1
2
root >DROP DATABASE IF EXISTS t2;
Query OK, 0 rows affected (0.02 sec)

再次查看数据库

1
2
3
4
5
6
7
8
9
10
11
root >SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| t1 |
| test |
+--------------------+
5 rows in set (0.00 sec)

可以看出t2已经被删除

小结:

MySQL默认端口号:3306
MySQL中的超级用户:root

SQL 中最重要的 DDL 语句:
CREATE DATABASE - 创建新数据库
ALTER DATABASE - 修改数据库
DROP DATABASE - 删除数据库
(尚未用到)
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引