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语法
- 每条语句以分号结尾,如果在SQLyog中可以不用加(自动补,建议加);
- SQL中不区分大小写,关键字中认为大小写一样。
- 三种注解
注释的语法 |
说明 |
--空格 |
单行注释 |
/**/ |
多行注释 |
# |
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.修改表结构
alter table student add remark char(20);
alter table student modify remark varchar(20);
alter table student change remark info varchar(20);
alter table student drop intro;
alter table student rename to stu;
alter table student2 character set gbk;