02.定义语言DDL(Data Definition Language)操作

MySQL语法、DDL(Data Definition Language)操作

一、SQL概念

1.Structured Query Language 结构化查询语言,作用:

  • 是一种所有关系型数据库的查询规范,不同的数据库都支持。
  • 通用的数据库操作语言,可以用在不同的数据库中。
  • 不同的数据库 SQL 语句有一些区别

2.分类

  • Data Definition Language(DDL数据定义语言):如:建库,建表
  • Data Manipulation Language(DML数据操控语言):如:增删改表记录
  • Data Query Language(DQL数据查询语言):如:查询表
  • Data Control Language(DCL数据控制语言):如:对用户权限的设置

3.MySQL语法

  1. 每条语句以分号结尾,如果在SQLyog中可以不用加(自动补,建议加);
  2. SQL中不区分大小写,关键字中认为大小写一样。
  3. 三种注解
注释的语法 说明
--空格 单行注释
/**/ 多行注释
# mysql特有注释方式,可python注释一样

二、DDL操作数据库(Data Definition Language)

按tab键可以自动补全关键字;每行SQL语句需要选中再执行,可以按F9

1. 创建数据库

  • 创建数据库
create database db1;
  • 判断数据库是否已经存在,不存在则创建数据库
create database if not exists db1;
  • 创建数据库并指定字符集
create database hahadasheng character set utf8mb4;

2. 查看数据库

  • 查看所有数据库
show databases;
  • 查看某个数据库的特定信息
show create database db1;

3. 修改数据库

  • 格式
alter database db1 default character set uft8;

4. 删除数据库

  • 语法
drop database db1;

5、使用数据库

  • 查看正在使用的数据库
select database(); # 使用的一个mysql中的全局函数
  • 使用/切换数据库
use db1;

三、DDL操作表结构(Data Definition Language)

1. MySQL的数据类型

  • 常用的数据类型
类型 描述
int 整型
double 浮点型
varchar 字符串型
date 日期类型,格式为yyyy-MM-dd,只有年月日,没有时分秒
  • 详细的数据类型
分类 类型名称 类型说明
整数 tinyInt 微整型:1字节8位二进制
整数 smallint 小整型:2字节16位二进制
整数 mediumint 中整型:3字节24位二进制
整数 int(integer) 整型:4字节42位二进制
小数 float 单精度,4字节
小数 double 双精度,8字节
日期 time 时间类型 hh:mm:ss
日期 date 日期类型 yyyy-MM-dd
日期 datetime 同时表示日期和时间类型 yyyy-MM-dd hh:mm:ss(时间戳也是这样)
字符串 char(m) 固定长度字符串,底层定长<无论使用几个字符都占满全部>,m为0~255之间的整数
字符串 varchar(m) 可变长字符串,底层存储不定长<有记录维护当前字符串长度>m为0~65535之间的整数
大二进制 blob 允许长度0~65535字节
大二进制 mediumblob 允许长度0~167772150字节
大二进制 longblob 允许长度0~4294967295字节
大文本 tinytext 允许长度0~255字节
大文本 text 允许长度0~65535字节
大文本 mediumtext 允许长度0~167772150字节
大文本 longtext 允许长度0~4294967295字节

2. 创建表

先要使用某个数据库:例如:use db1;

  • 格式
create table student(
    id int, # 整数
    name varchar(20), -- 可变长字符串
    birthday date /*纯日期*/
);

3. 查看表

  • 查看某个数据库中的所有表
show tables;
  • 查看表结构
desc student;
  • 查看创建表的SQL语句【存在的目的是为了避免关键字的冲突】
show create table student;

4.快速创建一个表结构相同的表

  • 语法
create table newStudent like student;

5.删除表

  • 直接删除表
drop table student;
  • 判断表是否存在如果存在则删除表
drop table if exists student;

6.修改表结构

  • 添加字段 add
alter table student add remark char(20);
  • 修改字段类型 modify
alter table student modify remark varchar(20);
  • 修改字段名 change
alter table student change remark info varchar(20);
  • 删除字段 drop
alter table student drop intro;
  • 修改表名
alter table student rename to stu;
  • 修改表的字符集 character set
alter table student2 character set gbk;

你可能感兴趣的:(02.定义语言DDL(Data Definition Language)操作)