Skip to content
Go back

1-MySQL简述

Published:  at  04:04 AM

MySQL简述

数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。

保存数据的容器

常用的保存数据的容器有数组,集合,文件以及数据库。数组,集合将数据存储在内存中,但内存中的数据具有易失性,很容易丢失。文件可以实现永久存储,但文件不适用于大量文件的存储,难于检索查询。

数据库优点

数据库相关概念

DB(database)

数据库,存储数据的“仓库”。保存了一系列有组织的数据

DBMS(Database Management System)

数据库管理系统,数据库通过数据库管理系统创建和操作容器(常见的DBMS有:MySQL,Oracle,DB2,Sql Server)

SQL(Structure Query Language)

结构化查询语言,专门用来与数据库通信的语言。SQL具有诸多优点:它不是某个特定数据库供应商专有的语言,几乎所有主流DBMS都支持SQL。SQL语言简单易学,虽然简单,但是一种强有力的语言,可以灵活运用其他语言进行诸多复杂和高级的数据库操作

数据库的特点

DBMS分类

MySQL优点:

成本低:开放源代码,一般可以免费试用。性能高:执行很快。简单:易安装和使用


基本操作语法

// 开启MySQL服务
net start mysql0214
//关闭MySQL服务
net stop mysql0214

root用户登录可以直接利用MySQL自带的Command Line Client登录,其他用户可以利用命令行如下操作进入

mysql -h localhost -P 3306 -u root -p

//之后输入对应用户密码即可登录
//第一个mysql不再是容器名称,而是mysql命令的意思
//-h表示主机
//-P表示端口
//-u表示用户
//-p表示密码


//本机用户可以直接简写成如下格式:
mysql -u root -p

//密码可以直接显示在该语句中,而不是换行输入
mysql -u root -prenboyu010214

//注意,-p和密码之间不允许有空格存在

常见命令

展示当前数据库 show databases;

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.01 sec)

查看某数据库内容的两种方式

利用 use 库名; 先进入对应库中
利用 show tables; 语句展示库中内容。

mysql> use information_schema;
Database changed
mysql> show tables;
+---------------------------------------+
| Tables_in_information_schema          |
+---------------------------------------+
| CHARACTER_SETS                        |
| COLLATIONS                            |
| COLLATION_CHARACTER_SET_APPLICABILITY |
| COLUMNS                               |
| COLUMN_PRIVILEGES                     |
| ENGINES                               |
| EVENTS                                |
| FILES                                 |
| GLOBAL_STATUS                         |
| GLOBAL_VARIABLES                      |
| KEY_COLUMN_USAGE                      |
| PARAMETERS                            |
| PARTITIONS                            |
| PLUGINS                               |
| PROCESSLIST                           |
| PROFILING                             |
| REFERENTIAL_CONSTRAINTS               |
| ROUTINES                              |
| SCHEMATA                              |
| SCHEMA_PRIVILEGES                     |
| SESSION_STATUS                        |
| SESSION_VARIABLES                     |
| STATISTICS                            |
| TABLES                                |
| TABLESPACES                           |
| TABLE_CONSTRAINTS                     |
| TABLE_PRIVILEGES                      |
| TRIGGERS                              |
| USER_PRIVILEGES                       |
| VIEWS                                 |
| INNODB_CMP_RESET                      |
| INNODB_TRX                            |
| INNODB_CMPMEM_RESET                   |
| INNODB_LOCK_WAITS                     |
| INNODB_CMPMEM                         |
| INNODB_CMP                            |
| INNODB_LOCKS                          |
+---------------------------------------+
37 rows in set (0.00 sec)

利用 show tables from 库名; 直接查看库中数据内容,不需要进入(也就是说没有走出原来的库)

mysql> show tables from mysql;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| servers                   |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
24 rows in set (0.01 sec)

查看当前所在的库 select database();

mysql> select database();
+--------------------+
| database()         |
+--------------------+
| information_schema |
+--------------------+
1 row in set (0.00 sec)

在库中创建表格 create table 表名();

mysql> create table stuinfo(
    -> id int,
    -> name varchar(20));
Query OK, 0 rows affected (0.35 sec)

查看表的结构 desc 表名;

mysql> desc stuinfo;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.04 sec)

向表中插入数据 insert into 表名 (id,name) values(1,‘Leslie’);

mysql> insert into stuinfo (id,name) values(1,'Leslie');
Query OK, 1 row affected (0.00 sec)

mysql>  insert into stuinfo (id,name) values(2,'John');
Query OK, 1 row affected (0.01 sec)

查看表中数据 select * from 表名;

mysql> select * from stuinfo;
+------+--------+
| id   | name   |
+------+--------+
|    1 | Leslie |
|    2 | John   |
+------+--------+
2 rows in set (0.01 sec)

删除表中数据 delete from 表名 where id=1;

mysql> delete from stuinfo where id=1;
Query OK, 1 row affected (0.01 sec)

查看当前MySQL版本

在MySQL窗口中:

mysql>  select version();
+-----------+
| version() |
+-----------+
| 5.5.27    |
+-----------+
1 row in set (0.00 sec)

在DOS窗口中:

C:\Windows\system32>mysql --V
mysql  Ver 14.14 Distrib 5.5.27, for Win64 (x86)

MySQL语法规范

  1. 不区分大小写,但建议关键字大写,表名,列名小写
  2. 每条命令以分号结尾
  3. 每条命令根据需要,可以缩进或换行
  4. 注释
    • 单行注释:#注释文字
    • 单行注释:— 注释文字(注意中间必须有空格)
    • 多行注释:/* 注释文字 */

结构化查询语言SQL

(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

SQL语言分类

DQL语言

(Data Query Language)数据查询语言,主要用于查询功能

DML语言

(Data Manipulation Language)数据操作语言,主要用于增加,删除与修改

DDL语言

(Data Define Language)数据定义语言,有关库和表的定义

TCL语言

(Transaction Control Language)事务控制语言,事务和事务处理


Suggest Changes

Previous Post
2-DQL数据查询语言
Next Post
3-传输层