mysql快熟入门

前提:假设我们的电脑或服务器已经正确安装了mysql服务器

一:连接和断开mysql服务器

1.1连接数据库服务器 

shell> mysql -u user -p     (user用户名通常为root,-u -p 两个mysql的参数名。然后按enter健会提示我们输入密码,如下)
    Enter password: ******** 
如果数据库在其它电脑上,我们必要加入IP地址如下
shell> mysql -h host -u user -p (host 即远程服务器地址 -h参数 host参数值),如果密码和用户名全部正确则进入mysql服务器,界面如下
shell> mysql -h host -u user -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or \g. //欢迎你
Your MySQL connection id is 25338 to server version: 5.7.26-standard // 告诉你连接的ID 和数据库版本好
  Type 'help;' or '\h' for help. Type '\c' to clear the buffer. //一些提示信息 你可以尝试在mysql(提示符)输入help看看😄
mysql>

1.2与服务器断开

mysql> QUIT
Bye  //断开成功
备注:在Unix上,您也可以通过按Control + D断开连接。

二:输入查询(select作为调用函数的命令)

  select 你可以理解为调用mysql的一个指令,该指令不仅可以查询表中的数据,同时可以调用mysql服务器定义的函数和运行一些简单的数学计算。本小结仅展示select调用函数的例子

2.1查询当前版本和日期

mysql> SELECT VERSION(), CURRENT_DATE(); //查询的结果会以表格的形式显现
+-----------+--------------+
| VERSION() | CURRENT_DATE()|   // 查询的列
+-----------+--------------+
| 5.7.23    | 2019-02-06   |   //查询出来的数据
+-----------+--------------+
1 row in set (0.03 sec) //返回 执行的时间(性能)和查询出的数据和
mysql>      //准备下次输入

2.2 将 mysql 用作简单的计算器

mysql> SELECT SIN(PI()/4), (4+1)*5;
+--------------------+---------+
| SIN(PI()/4)        | (4+1)*5 |
+--------------------+---------+
| 0.7071067811865475 |      25 |
+--------------------+---------+
1 row in set (0.03 sec)

三:创建和使用数据库

3.1.1创建数据库(CREATE DATABASE 数据库名)

CREATE DATABASE mydatabase;  //创建数据库mydatabase
Query OK, 1 row affected (0.01 sec)  //创建成功(如果库名已经存在 ERROR 1007*** 就是告诉你数据库名已经存在)
#出现以上结果则说明创建成功。虽然我们创建了一个数据库,但服务器并不能确定我们就开始使用这个数据库,如果我们想使用我们创建的这个数据库我们必须告诉它

3.1.2 使用数据库(use 数据库名)

mysql> use mydatabase;
Database changed //告诉我们当前数据库已经改变了

备注:

  查看服务器所有数据库: SHOW DATABASES 

  参看数据库创建信息:show create database 库名

show create database mydatabase;
+------------+-----------------------------------------------------------------------+
| Database   | Create Database                                                       |
+------------+-----------------------------------------------------------------------+
| mydatabase | CREATE DATABASE `mydatabase` /*!40100 DEFAULT CHARACTER SET latin1 */ | //使用了默认的字符集和相关参数
+------------+-----------------------------------------------------------------------+
1 row in set (0.00 sec)

  参看数据库中信息(表)SHOW TABLES;

  参看当前使用的数据库   : SELECT DATABASE();

3.2.1 创建表

  例如我们现在需要创建一个关于宠物的表,该表包含宠物的名字,主人,种类.... 

CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),
    ->        species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
Query OK, 0 rows affected (0.05 sec)

3.2.1 查看创建时的表述信息 DESCRIBE  表名

mysql> DESCRIBE pet;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name    | varchar(20) | YES  |     | NULL    |       |
| owner   | varchar(20) | YES  |     | NULL    |       |
| species | varchar(20) | YES  |     | NULL    |       |
| sex     | char(1)     | YES  |     | NULL    |       |
| birth   | date        | YES  |     | NULL    |       |
| death   | date        | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+
6 rows in set (0.01 sec)

备注:

3.3 将数据加载到表中

  创建表后,您需要填充它。该 LOAD DATA和 INSERT 语句是这个有用的。

3.3.1 使用:LOAD DATA LOCAL INFILE '文件路径INTO TABLE 表名 fields terminated by '列分割符'  LINES TERMINATED BY '行分割符';加载数据。

  如果需要从一个文件中加载数据到我们的数据库中,我们就可以使用load data语法。例如我们有个pet.txt文件,该文件的数据如下表

Whistler|Gwen|bird|\N|1997-12-09|\N
Whistler2|Gwen2|bird2|\N|1997-12-01|\N
Whistler3|Gwen3|bird3|\N|1997-12-10|\N

加载数据:load data local infile '/mysqldata/pet.txt' into table pet  fields terminated by '|';

      Query OK, 3 row affected (0.00 sec)

      Records: 1  Deleted: 0  Skipped: 0  Warnings: 0

备注:load data 的默认列分割符是制表符,默认的行分割符是换行符,但我们可以手动指定如上案例,指定列分割符是‘|’

         Windows上使用编辑器创建该文件 \r\n作为行分割符

3.3.2 使用 INSERT INTO table_name() VALUES();添加一条数据到表中

 INSERT INTO pet
    ->        VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);
Query OK, 1 row affected (0.01 sec)

备注:我们可以指定插入表中的列的部分数据,其它可以不插入(其它作为默认值)

例如SQL:我们仅仅指定了名字和生日,其它都会以NULL插入

INSERT INTO pet(name,birth)VALUES ('Purr','1999-03-30');
Query OK, 1 row affected (0.00 sec)

3.4 从表中查询信息SELECT

    [ALL | DISTINCT | DISTINCTROW ]  //可选参数 All就是查询所有。DISTINCT 不重复的项,DISTINCTROW = DISTINVCT(的同义词)
    select_expr [, select_expr ...]  // *是查询所有列,也可以指定查询的列
    [FROM table_references         //需要查询的表
    [WHERE where_condition]        //查询条件
    [GROUP BY {col_name | position}    //对查询的结果进行分类
      [ASC | DESC]]
    [HAVING where_condition]        //对分类的结果再进行条件筛选
    [ORDER BY {col_name | position}   //对结果进行排序
      [ASC | DESC], ...]     
    [LIMIT {[offset,] row_count | row_count OFFSET offset}]  //分页输出

分解:
select_expr:可以使用别名,也可以是个聚合函数
  例 select sex as '性别',concat(first_name,second_name) from 表名;//不解释

备注:

3.4.1  简单查询需求

3.4.2 对查询结果排序

3.4.3 使用聚合函数(mysql服务器为我们预先编辑的函数) 

3.4.4 null的使用

3.4.5 匹配模式(正则 和 like 关键字)

3.4.6 多表联合查询  

四:常见查询示例

posted @ 2019-02-12 16:40  爱我-中华  阅读(168)  评论(0编辑  收藏  举报