MySQL是一个开源的关系型数据库管理系统。windows下,MySQL有2种安装方式:
》MSI安装(Windows Installer)
》ZIP安装
对于初学者,推荐MSI安装。。。
MySQL目录结构如下:
bin目录,存储 可执行文件
data目录,存储 数据文件(可以将创建的数据库文件和索引文件都存储在这里)
docs,文档
include目录,存储 包含的头文件
lib目录,存储 库文件
share,错误消息和字符集文件
正文:
1》安装MySQL5.5(此处不再赘述)2》MySQL的(手动)配置选项
在安装目录下,找到配置文件:my.ini ,修改如下几个地方:
[mysql]
default-character-set=utf8 #编码方式修改为utf8
[mysqld]
character-set-server=utf8 #编码方式修改为utf8
3》启动/关闭MySQL服务
首先,以管理员身份运行CMD。
net start mysql #启动MySQL服务
net stop mysql #关闭MySQL服务
4》MySQL登录/退出
mysql -V #(--version)输出MySQL的版本信息并且退出
mysql --version #输出MySQL的版本信息并且退出
mysql -uroot -p123456 -P3306 -h127.0.0.1 #用户root,密码123456,MySQL默认的端口号3306,默认连接到本地服务器。(这是第一种登录方法)
C:\Windows\system32>mysql -uroot -p #第二种登录方法(回车后,输入密码)
Enter password: ******
MySQL退出(下面3种方法,均可)
mysql > exit;
mysql > quit;
mysql > \q;
-----------------------------------------------
参数 描述
-D,--database=name 打开指定数据库
--delimiter=name 指定分割符
-h,--host=name 服务器名称
-p,--password[=name] 密码
-P,--port=# 端口号
--prompt=name 设置提示符
-u,--user=name 用户名
-V,--version 输出版本信息并且退出
-----------------------------------------------
5》修改MySQL提示符
连接客户端时通过参数指定
C:\Windows\system32>mysql -uroot -p123456 --prompt \h # \h表示服务器的名称
连接上客户端后,通过prompt命令修改
mysql> prompt mysql>>
PROMPT set to 'mysql>>'
mysql>>
MySQL比较简单的提示符
\D 完整的日期(Date)
\d 当前数据库 (database)
\h 服务器名称 (host)
\u 当前用户 (user)
mysql>prompt \u@\h \d:
PROMPT set to '\u@\h \d:'
root@localhost (none): #当前没有打开任何一个数据库,所以为none
root@localhost (none):use test #打开系统的test数据库
Database changed
root@localhost test: #此时,none变成了test
6》MySQL常用命令
显示当前服务器版本 SELECT VERSION();
root@localhost test:SELECT VERSION();
+-----------+
| VERSION() |
+-----------+
| 5.5.37 |
+-----------+
1 row in set (0.00 sec)
显示当前日期时间 SELECT NOW();
root@localhost test:SELECT NOW();
+---------------------+
| NOW() |
+---------------------+
| 2016-09-21 11:14:18 |
+---------------------+
1 row in set (0.00 sec)
显示当前用户 SELECT USER();
root@localhost test:SELECT USER();
+----------------+
| USER() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)
7》MySQL语句的规范
关键字与函数名称 全部大写。
数据库名称,表名称,字段名称 全部小写。
SQL语句必须以分号结尾。
8》创建数据库
MySQL安装成功后,默认自带了4个数据库,如下:
mysql> SHOW DATABASES; #查看当前服务器下,数据库列表(此时的数据库都是自带的!)
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
创建数据库语法:{ }内的是必选的,| 表示选择其中的1个或多个,[ ]内的是可选的;
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name
例如:
mysql> CREATE DATABASE t1; #创建数据库t1(采用默认的字符集utf8)
Query OK, 1 row affected (0.00 sec)
mysql> CREATE DATABASE t1; #数据库t1,已经存在;产生错误信息;
ERROR 1007 (HY000): Can't create database 't1'; database exists
mysql> CREATE DATABASE IF NOT EXISTS t1;#数据库t1,已经存在;没有产生错误,但产生了警告!
Query OK, 1 row affected, 1 warning (0.00 sec)
mysql> SHOW WARNINGS; #查看上述警告信息
+-------+------+---------------------------------------------+
| Level | Code | Message |
+-------+------+---------------------------------------------+
| Note | 1007 | Can't create database 't1'; database exists |
+-------+------+---------------------------------------------+
1 row in set (0.00 sec)
mysql> SHOW CREATE DATABASE t1; #显示 创建数据库t1时,所使用的指令。(注意字符集)
+----------+-------------------------------------------------------------+
| Database | Create Database |
+----------+-------------------------------------------------------------+
| t1 | CREATE DATABASE `t1` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+-------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> CREATE DATABASE IF NOT EXISTS t2 CHARACTER SET gbk; #创建数据库t2,(采用指定的字符集gbk)
Query OK, 1 row affected (0.00 sec)
mysql> SHOW CREATE DATABASE t2; #显示 创建数据库t2时,所使用的指令。(注意字符集)
+----------+------------------------------------------------------------+
| Database | Create Database |
+----------+------------------------------------------------------------+
| t2 | CREATE DATABASE `t2` /*!40100 DEFAULT CHARACTER SET gbk */ |
+----------+------------------------------------------------------------+
1 row in set (0.00 sec)
9》修改数据库
ALTER {DATABASE | SCHEMA} [db_name] [DEFAULT] CHARACTER SET [=] charset_name
mysql> ALTER DATABASE t2 CHARACTER SET = utf8; #将数据库t2的字符集修改为utf8
Query OK, 1 row affected (0.00 sec)
mysql> SHOW CREATE DATABASE t2; #查看数据库t2的字符集(确实被修改成了utf8)
+----------+-------------------------------------------------------------+
| Database | Create Database |
+----------+-------------------------------------------------------------+
| t2 | CREATE DATABASE `t2` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+-------------------------------------------------------------+
1 row in set (0.00 sec)
10》删除数据库
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
mysql> DROP DATABASE t1; #删除数据库t1
Query OK, 0 rows affected (0.01 sec)
mysql> SHOW DATABASES;#查看当前服务器下,数据库列表(可以看到数据库t1,已经被删除了)
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| t2 |
| test |
+--------------------+
5 rows in set (0.00 sec)
mysql> DROP DATABASE t1; #删除数据库t1,产生错误,因为数据库t1不存在
ERROR 1008 (HY000): Can't drop database 't1'; database doesn't exist
mysql> DROP DATABASE IF EXISTS t1; #删除数据库t1,但此时数据库t1不存在;没有产生错误,但产生了警告;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> SHOW WARNINGS;#查看上述警告信息
+-------+------+--------------------------------------------------+
| Level | Code | Message |
+-------+------+--------------------------------------------------+
| Note | 1008 | Can't drop database 't1'; database doesn't exist |
+-------+------+--------------------------------------------------+
1 row in set (0.00 sec)
(完)