SQL通用语法与DDL操作

学习笔记

sql通用语法
1 sql语句可以单行或多行书写,以分号结尾;
2 sql语句可以使用空格/缩进来增强语句的可读性;
3 mysql数据库的sql语句不区分大小写
4 单行注释:-- 内容 或 # 内容
多行注释: /* 内容 */

sql语句分类
DDL: 数据定义语言,用来定义数据库对象(数据库、表、字段)
DML:数据操作语言,用来对数据库中的数据进行增删改
DQL: 数据查询语言,用来查询数据库中表的记录
DCL: 数据控制语言,用来创建数据库用户,控制数据库的访问权限(创建出来的用户可以控制哪些表,进行增删改中的哪些功能都是由DCL决定)

DDL
数据库操作:
查询所一数据库:

SHOW DATABASES;

在这里插入图片描述
查询当前数据库

SELECT DATABASE();

创建

CREATE DATABASE 数据库名称;
CREATE DATABASE IF NOT EXISTS 数据库名称; # 是否存在同名数据库,不存在则创建
CREATE DATABASE 数据库名称 DEFAULT CHARSET 子点击; # 规定字符集

在这里插入图片描述
创建成功。

删除

DROP database 数据库名;
DROP database IF EXISTS 数据库名;

在这里插入图片描述
使用

USE 数据库名; 

DDL表操作
查询当前数据库所有表

show tables; # 得首先进入该数据库:use:xxx

查询表结构

desc 表名;

查询指定表的建表语句

show create table 表名;

DDL-表操作-创建

create table 表名(
字段1 字段1类型[comment 字段1注释],
字段2 字段2类型[comment 字段2注释],
......
字段n 字段n类型[comment 字段n注释]
)[comment 表注释];

在这里插入图片描述

数值类型
类型 大小 有符号范围 无符号范围
tinyint 1byte (-128,127) (0,255)
smallint 2bytes (-32768, 32767) (0,65535)
mediumint 3bytes (-8388608,8388607) (0,16777215)
int 4bytes (-2147483648, 2147483647) (0,4294967295)
bigint 8btyes
float 4bytes
double 8bytes
decimal 依赖于M精度和D标度

例子
age tinyint unsigned (tinyint类型无符号)

字符串类型
char 0-255bytes 定长字符串
varchar 0-65535bytes 变长字符串
在这里插入图片描述
定长字符串,例如char[10],存储1个字符就要占用10给字符的空间;varchar[10]则不一样,存储1个字符就占用1个字符的空间。

日期类型
类型 大小 范围 格式 描述
DATE 3 1000-01-01至9999-12-31 YYYY-MM-DD 日期值
TIME 3 -838:59:59至838:59:59 HH:MM:SS 时间值或持续时间
YEAR 1 1901至2155 YYYY 年份值
DATAYEAR 8 1000-01-01 00:00:00至9999-12-31 23:59:59 混合日期时间和时间值
TIMESTAMP4 1970-01-01至2038-01-19 03:14:07 混合时间和时间值时间戳

例如:birthday date

案例:
在这里插入图片描述

create table emp(
id int comment '编号',
worknum varchar(10) comment '工号',
name varchar(10) comment '姓名',
gender char(1) comment '性别',
age tinyint unsigned comment '年龄',
idcard char(18) comment '身份证号',
entrydate date comment '入职时间'
)comment '员工表';

在这里插入图片描述
DDL-表操作-修改
添加字段
alter table 表名 add 字段名 类型(长度)[comment ‘注释’];
在这里插入图片描述
修改数据类型

alter table 表名 modify 字段名 新数据类型(长度);

修改字段名和字段类型

alter table 表名 change 旧字段名 新字段名 类型(长度) [comment 注释][约束];

在这里插入图片描述
删除字段

alter table 表名 drop 字段名;

在这里插入图片描述
修改表名

alter table 表名 rename to employee;

在这里插入图片描述

表操作删除
删除表

drop table 表名;
drop table if exists 表名;

在这里插入图片描述

删除指定表,并重新创建该表

truncate table 表名;

在这里插入图片描述
上图多余的\为失误输入。
删除表时,表中的数据会被全部删除。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值