在MySQL中可以将SQL分为4大类:
DDL数据定义语言:
create
创建、
alter
修改、
drop
删除、
truncate
截断
DML数据操纵语言:
insert
插入、
update
修改、
delete
删除
DQL数据查询语言:
select
查询
DCL数据控制语言:
grant
授权、
revoke
回收权限
DDL
数据定义语言
用于定义数据库对象的操作语句
数据库操作
创建操作语法规则 create database
数据库名称
default character set utf8
,一般默认编码字符集为latin1
create database test default character set utf8;
-- 创建数据库,名称为test,默认 编码字符集为utf-8
-- 如果数据库已经存在,则再次创建会报错
create database if not exists test default character set utf8;
-- 如果test已经 存在则不执行创建操作,同时不会报错
如果数据库创建成功,则自动在数据文件夹
data
下新增一个
test
目录。
删除操作
语法规则 drop database
数据库名称
;
drop database test;
-- 删除指定数据库;如果数据库不存在则报错
drop database if exists test;
-- 如果存在则删除,如果不存在也不报错
查看所有数据库 show databases
;
mysql中允许同时打开多个数据库,不同的数据库管理系统不一样
切换当前数据库 use
数据库名称
;
use test;
-- 如果数据库存在则切换到指定的数据库test下进行操作;如果不存在则报错
查看当前操作的数据库;
select database();
查看数据库的创建语句;
show create datbase test;
默认系统数据库
系统数据库就是供DBMS
使用的数据库,如果损坏则会导致
DBMS
无法正常启动,所以一般不建议直接操作
information_schema记录所有数据库和数据库中表的信息
mysql记录时区、权限之类的配置信息
sys保存和锁、统计相关的信息
performance_schema用于实现对运行过程的资源的使用情况的统计
test非系统数据库,仅供测试样例
数据表的操作
创建数据表基本语法: create table
数据表的名称
(
数据列的名称 数据类型 约束规则
,......)engine= 存储引擎名称 default charset utf8
;
create table tb_student( -- 这里可以加入if not exists表示不存在时才进行创建。注意 在一个数据库中的表名称不允许重复。按照阿里的规范,要求基表名称必须使用【tb_表】
id bigint primary key auto_increment,
name varchar(20) not null,
sex boolean default 1 -- 在mysql数据库中有一些属性数据类型的别名
) engine=innodb default charset utf8; -- 实际上从MySQL5.5开始默认存储引擎就是 innodb,但是一般建议还是添加上存储引擎的设置
数据表创建完成,则会发现在data/test
目录下出现一个文件
tb_student.ibd一般使用的存储引擎engine
常见的有
innodb
和
myisam
两种,如果使用
myisam
则会创建两个文件,
1、
.myd
数据信息文件,其中包含表的数据;
2
、
.myi
索引信息文件,是用于提高查询效率的索引数据、
查看表中的列定义 desc tb_student
;

查看具体的列定义 show create table tb_student;