先简单了解下MySQL
SQL、DB、DBMS之间的关系
DB:DataBase(数据库,数据实际上在硬盘上以文件的形式存在)
DBMS:DataBase Management System(数据库管理系统,常见的有:MySQL Oracle DB2 Sybase SQLServer…)
SQL:结构化查询语言,是一门标准通用的语言,标准的SQL适合于所有的数据库产品
DBMS负责执行SQL语句,通过执行SQL语句来操作DB当中的数据
DBMS -(执行)-> SQL -(操作)-> DB
SQL语句的分类
- DQL(数据查询语言):查询语句,凡是select语句都是DQL
- DML(数据操作语言):insert delete update,对表当中的数据进行增删改
- DDL(数据定义语言):create drop alter,对表结构的增删改
- TCL(事务控制语言):commit提交事务,rollback回滚事务
- DCL(数据控制语言):grant授权、revoke撤销权限等
SQL的注释
--单行注释
/*
多行注释
多行注释
*/
基本的命令行操作
登录MySQL数据库管理系统
dos命令窗口:mysql -u账号 -p密码
查看有哪些数据库
show databases;(这个不是SQL语句,属于MySQL的命令。)
效果如下:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.08 sec)
创建属于我们自己的数据库
create database 数据库名字;(这个不是SQL语句,属于MySQL的命令。)
演示如下:
mysql> create database cqd;
Query OK, 1 row affected (0.04 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| cqd |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.00 sec)
使用cqd数据(切换数据库)
use 数据库名;(这个不是SQL语句,属于MySQL的命令。)
演示:
mysql> use cqd;
Database changed
mysql>
切换到其他数据库演示如下:
mysql> use mysql
Database changed
mysql>
查看当前使用的数据库中有哪些表
show tables;(这个不是SQL语句,属于MySQL的命令。)
演示:
mysql> show tables;
+---------------------------+
| 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.08 sec)
查看其他库中的表
show table from 数据库名;
show tables from performance_schema;
+----------------------------------------------+
| Tables_in_performance_schema |
+----------------------------------------------+
| cond_instances |
| events_waits_current |
| events_waits_history |
| events_waits_history_long |
| events_waits_summary_by_instance |
| events_waits_summary_by_thread_by_event_name |
| events_waits_summary_global_by_event_name |
| file_instances |
| file_summary_by_event_name |
| file_summary_by_instance |
| mutex_instances |
| performance_timers |
| rwlock_instances |
| setup_consumers |
| setup_instruments |
| setup_timers |
| threads |
+----------------------------------------------+
17 rows in set (0.00 sec)
显示数据库中所有的表的信息
describe student;
初始化数据库
source .sql脚本文件的文件路径
(这里没有文件,就不演示效果了。。。)
对SQL脚本的理解
文件以sql结尾,这样的文件被称为“sql脚本”,什么是sql脚本呢?当一个文件的扩展名是.sql,并且该文件中编写了大量的sql语句,我们称这样的文件为sql脚本。
注意:
- 直接使用source命令可以执行sql脚本
- sql脚本中的数据量太大的时候,无法打开,请使用source命令完成初始化
MySQL常用的命令
-
创建数据库
mysql> create database cqd; Query OK, 1 row affected (0.04 sec)
-
删除数据库
drop database 数据库名; drop database if exists cqd; 如果cqd数据库存在,删除它
-
查看当前使用的数据库
select database(); +------------+ | database() | +------------+ | cqd | +------------+ 1 row in set (0.00 sec)
-
查看mysql的版本号
select version(); +-----------+ | version() | +-----------+ | 5.5.36 | +-----------+ 1 row in set (0.00 sec)
-
终止一条语句
\c mysql> select * -> from -> -> -> -> \c mysql>
-
退出mysql
exit; 不加;也可以