mySql - 连接,建立数据库,建立表

写在最前面:不一样的MySql的版本,相应的sql命令语句不是彻底同样的,个人数据库是版本是5.7.18.mysql

0: 数据库相关基本概念介绍sql

数据库 vs 数据库管理系统

当咱们说到数据库时,可能会讨论到MySql, Oracle, PostgreSQL. 实际上,更准确地说法是他们都是DBMS(Database Management System)。数据库的存储,检索,管理等全部的功能都是由DBMS来完成的。数据库

服务端 vs 客户端

当咱们使用数据库管理系统时,咱们同时须要服务端和客户端。下面以一个查询为例。socket

客户端:咱们想要查询数据的时候,须要在一个地方书写咱们的sql语句,这个地方就是客户端。可是这个语句的执行,并不在客户端。客户端会把这个语句发送到服务端。命令行

服务端:服务端接收到客户端发来的查询请求,执行查询,拿到结果,把结果返回给客户端。code

服务端和客户端经过socket通讯,具体是什么socket会根据不一样的状况不同,你也能够本身指定socket的类型。例如:--protocol=TCPorm

咱们以MySql为例,当咱们安装完MySql的时候,实际上安装了服务端。固然,会附赠一个服务端(MySql的命令行实用程序)。可是,有不少别的客户端供你选择,好比你能够选图形界面化的MySql客户端(MySql Workbench)。server

1: 安装MySql
能够到MySql的官网下载安装包,也能够在命令行使用homebrew安装,这里不展开。
2: 启动MySqlhomebrew

mysql.server start

在从客户端连接到服务端以前,先要启动MySql ci

3: 连接到MySql
要使用MySql,首先要连接到MySql。
连接到一个数据库服务端须要提供如下4个信息:

1: 服务端所在的主机名(host),本地为localhost
2: 端口
3: 用户名
4: 密码(若是须要密码的话)

在命令行里须要执行如下命令:

mysql -h myhost -u myname -p

由于我是在本身的电脑上安装了MySql的服务端,因此下面以连接到本地MySql为例:

mysql h localhost -u root

若是连接成功,这时候会看到mysql命令行客户端:

mysql>

我是采用homebrew安装的,安装好以后默认root用户是没有密码的,因此这里没有使用-p。可是,咱们能够本身给root这个用户名设置一个密码:

mysql> UPDATE mysql.user set authentication_string = PASSWORD('your_password') where User = 'root' AND Host = 'localhost';
mysql> FLUSH PRIVILEGES;

以上两个步骤,就成功地给root用户设置了一个密码。下次再从新使用root用户登录的时候就必须带上密码了。

4: 显示数据库

mysql> show databases;

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

使用show databases;能够显示全部的数据库,这里显示了安装MySql以后默认的2个数据库。

注意:sql语句必定要以分号来表示一个命令的结束。

5: 建立数据库

mysql> create database crashcourse;

这样咱们就成功地建立了一个名为crashcourse的数据库。如今这个数据库是空的。接下来咱们就往数据库里面建立一张表。
6: 建立表
一张表必定是从属于某个数据库的,因此,在我门建立表以前,先选定咱们即将要操做的数据库。能够经过命令:

use 数据库的名字;

其实在进行任何基于某个数据库的操做前,先选定一个数据库是很是正确和方便的事情。这里以咱们刚刚建立好的crashcourse这个数据库为例:

mysql> use crashcourse;

建立一张表的命令为:

create table 表名称(列声明);

接下来咱们以建立一张商品货物表为例:

Create table products (

product_id varchar(20) not null,

product_name varchar(20) not null,

product_price decimal(7, 2) not null,

vendor_id varchar(20) not null,

primary key(product_id)

);

7: 显示表
显示一个数据库的有哪些表,使用的sql命令是:

show tables from databse_name;

若是在这以前你已经选定了一个数据库(经过use database_name命令),则只须要:

show tables;

咱们以我门刚刚建立的crashcourse数据库和products表为例:

mysql> show tables from crashcourse;
+-----------------------+
| Tables_in_crashcourse |
+-----------------------+
| products              |
+-----------------------+
1 row in set (0.00 sec)

8: 显示列

mysql> show columns from products;
+---------------+--------------+------+-----+---------+-------+
| Field         | Type         | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+-------+
| product_id    | varchar(20)  | NO   | PRI | NULL    |       |
| product_name  | varchar(20)  | NO   |     | NULL    |       |
| product_price | decimal(7,2) | NO   |     | NULL    |       |
| vendor_id     | varchar(20)  | NO   |     | NULL    |       |
+---------------+--------------+------+-----+---------+-------+
4 rows in set (0.02 sec)

至此,咱们就建立了
一个数据库:crashcourse,
在crashcourse里面建立了一张表:products,
给products表建立了4列:product_id,product_name, product_price, vendor_id.

可是,如今我么们的表里面尚未任何的数据,在下一篇文章里,咱们来往表里面添加数据。

相关文章
相关标签/搜索