前言
完成了SQL的安装,接下来SQL语句的分类学习,SQL语句分类可以分为DDL,DQL,DCL,DML。
一、SQL语句的分类
分类 | 说明 |
---|---|
DDL | (Data Definition Language)数据定义语言,用来定义数据库的对象(数据库、表、字段) |
DML | (Data Manipulation Language)数据操作语言,用来对数据库表中的数据进行增删改 |
DQL | (Data Query Language)数据查询语言,用来查询数据库中表的记录 |
DCL | (Data Control Language)用来创建数据库用户 、控制数据库的访问权限 |
二、DDL
1、DDL-数据库操作
=》查询
查询所有数据库
SHOW DATABASES;
查询当前数据库
SELECT DATABASE()
创建
CREATE DATABASE [IF NOT EXISTS]数据库名[DEFAULT 字符集] [COLLATE排序规则];
删除
DROP DATABASE [IF EXISTS]数据库;
使用
USE 数据库名
带[ ]的内容的意思是可以要可以不要的
2、DDL-表操作-查询
查询当前数据库的所有表
SHOW TABLES;
查询表结构
DESC 表名;
查询指定表的建表语句
SHOW CREATE TABLE 表名;
3、DDL-表操作-创建
CREATE TABLE 表名(
字段1 字段1类型[COMMENT 字段1注释],
字段2 字段2类型[COMMENT 字段1注释],
......
字段n 字段n类型[COMMENT 字段n注释]
)COMMENT 表注释];
4、DDL-表操作-修改
添加字段
ALTER TABLE 表名 字段名 类型(长度)[COMMENT 注释] [约束];
修改数据类型
修改字段和字段类型
ALTER 表名 CHANGE 旧字段名 新字段名 类型(C长度) [COMMENT 注释] [约束];
删除字段
ALTER TABLE 表名 DROP 字段名;
修改表名
ALTER TABLE 表名 RENAME TO ;
删除表
DROP TABLE [IF EXISTSS] 表名;
删除指定表,并重新创建改名字
TRUNCATE TABLES;
5、DDL实际用例
先用这个命令进到数据库里:
mysql -u root -p
现在来查询所有数据库
可以看到现在有这些数据库(有些库是后面自建的)
我们来创建一个名为teststudy的数据库
使用语句create database teststudy ;
显示如下,说面创建库成功,我们可以用语句来查看创建的数据库。
使用语句select database();
(注意后面是有括号的)
我们切换成sys数据库使用语句:use sys;
再查
删除和创建都涉及了EXSIT,这个最重要的涉及创一个已经存在名字的库和删除一个不存在的东西的时候的报错,理性看待。
现在我已经在sys数据库里了,我来看看里的全部表。
这个是系统数据库,表还是真的多。
我们换到之前创建的库里看一下
只有库没有表,空空滴捏
下面我们创建个表
create table ABC(
id int comment ‘id’,
name varchar(50) comment’姓名’,
age int comment ‘年龄’,
gender varchar(1) comment ‘性别’
);
要注意逗号!要注意逗号,用命令查,主要是如何去找
在后续要对主键啊自动递增啊Uniqe啊进行学习,这里不深入了。
早老来看游戏啊
现在可以看到里面涉及的字段类型以及之前打的备注,最后甚至在存储相关和长度字符编码。在cmd上容易出现打错了表返回不上去,这里建议在记事本上打好再放上去,未来回讲一些常用的可视化数据库工具,比CMD好多了。
给表改个名字;
我们来看一看是不是真的改了,搜之前
有study没有表abc了喵
总结
简简单单学一下DDL