MySQL基本操作命令(DDL、DML、DQL、DCL)
前言
- MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational
Database Management System:关系数据库管理系统)应用软件之一
- 最早MySQL数据,瑞典AB公司开发的一款开源型的关系型数据库。随着时间的推移,瑞典AB公司把MySQL数据库转让给Sun公司(Java语言的创始公司)后来,Sun公司经营不善,又把MySQL数据库转让给甲骨文公司(Oracle数据库)。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
一:数据库基本操作命令
1.1:mysql查看数据库结构
-
查看数据库结构
-
创建及删除库和表
-
管理表的记录
1.2:查看数据库信息
- show databases
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
1.3:查看数据库中的数据表信息
- use 数据库名
- show tables
mysql> use mysql; '进入mysql数据库中'
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| engine_cost |
| event |
...省略内容
1.4:显示数据表的结构(字段)
- describe [数据库名.]表名
mysql> describe user; '也可以使用desc user;'
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Host | char(60) | NO | PRI | | |
二:SQL操作管理命令
2.1:SQL语言概述
- SQL语言
- 是Structured Query Language的缩写,及结构化查询语言
- 是关系型数据库的标准语言
- 用于维护管理数据库,如数据查询,数据更新,访问控制,对象管理等功能
- SQL分类
- DDL:数据定义语言
- DML:数据操纵语言
- DQL:数据查询语言
- DCL:数据控制语言
2.2:DDL操作命令
2.2.1:创建数据库和表
-
DDL语句用于创建数据库对象,如库,表,索引等
-
使用DDL语句新建库、表
2.2.2:DDL语句创建库、表的命令
- 创建数据库:create database 数据库名
- 创建数据表:create table 表名(字段定义…)
mysql> create database school;
Query OK, 1 row affected (0.00 sec)
mysql> use school;
Database changed
mysql> create table info (id int(3) not null primary key auto_increment,name varchar(10) not null,score decimal(5,2),address varchar(50) default '未知');
Query OK, 0 rows affected (0.02 sec)
'info表名','not null设置不为空','primary key主键','auto_increment自动增长'
2.2.3:DDL语句删除库,表的命令
-
删除指定的数据表:drop table [数据库名.]表名
-
删除指定的数据库:drop database 数据库名
mysql> drop table info; '删除表'
Query OK, 0 rows affected (0.00 sec)
mysql> drop database shcool; '删除库'
Query OK, 0 rows affected (0.00 sec)
2.3:DML操作命令
2.3.1:DML语句的作用
- DML语句用于对表中的数据进行管理
- 包括以下操作
- insert:插入新数据
- update:更新原有数据
- delete:删除不需要的数据
2.3.2:向数据表中插入新的数据记录命令
mysql> use school '进入school数据库'
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select * from info; '查看表中数据'
Empty set (0.00 sec)
mysql> show tables; '查看表'
+------------------+
| Tables_in_school |
+------------------+
| info |
+------------------+
1 row in set (0.00 sec)
mysql> desc info; '查看表结构'
+---------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+----------------+
| id | int(3) | NO | PRI | NULL | auto_increment |
| name | varchar(10) | NO | | NULL | |
| score | decimal(5,2) | YES | | NULL | |
| address | varchar(50) | YES | |