您的位置:首页 > 数据库 > MySQL

MySQL学习笔记1:初涉MySQL

2016-09-21 16:45 197 查看
前言:

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)

(完)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: