MySQL-SQL-DDL语句、表结构创建语句语法、表约束、表数据类型,表结构-查询SQL、修改SQL、删除SQL

一.SQL

SQL:一门操作关系型数据库的编程语言,定义操作所有关系型数据库的统一标准

二. DDL-数据库

1. 查询所有数据库

命令:show databases;

2. 查询当前数据库

命令:select database();

3. 创建数据库

命令:create database [if not exists] 数据库名 [default charset utf8mb4];

可选项: if not exists-如果数据库不存在则创建;

default charset utf8mb4-指定数据库字符集(不写默认也是他)

同一个数据库中数据库名不能重复;不使用if not exists重复创建则报错;

4.使用/切换数据库

命令:use 数据库名;

5.删除数据库

命令:drop database [if exists] 数据库名;

不使用if exists删除不存在的数据库则会报错;

可选项:if exists-如果存在则删除

注意: 上述语法中的database,也可以替换成schema。如create schema db01;

MySQL8版本中,默认字符集为utf8mb4。

三. MySQL客户端工具-图形化工具-DataGrip 安装与使用

参照博主的 MySQL客户端工具-图形化工具-DataGrip 安装与使用 来安装

四. DDL-表结构创建

1. 语法

sql 复制代码
create table 表名(

    字段1 字段类型 [约束] [comment 字段1注释],
    .....
    字段2 字段类型 [约束] [comment 字段1注释]

)[comment 表注释];

2. 约束

(1) 约束是作用于表中字段上的规则,用于限制存储在表中的数据;目的是保证数据库中数据的正确性、有效性、完整性。

一个字段上可以添加多个约束,约束之间用空格隔开

3. auto_ increment 自增

4. 数据类型

(1) MySQL中数据类型有很多,主要分为三类:数值类型,字符串类型,日期时间类型。

数值类型的选取原则:在满足业务需求的前提下,尽可能选择占用磁盘空间小的数据类型。

sql 复制代码
-- 创建员工表
-- 基础字段:id 主键;create_time 创建时间;update_time 更新时间
create table emp(
    id int unsigned primary key auto_increment comment 'id主键',
    username varchar(50) not null unique  comment '用户名',
    password varchar(32) default '123456' comment '密码,默认123456',
    name varchar(50) not null comment '姓名',
    gender tinyint unsigned not null comment '性别,1男;2女',
    phone char(11) not null unique comment '手机号',
    job tinyint unsigned comment '职务,1语文;2数学;3英语;4思想品德',
    salary int unsigned comment '工资',
    entry_date date comment '入职日期',
    image  varchar(300) comment '照片',
    create_time datetime comment '创建时间',
    update_time datetime comment '更新时间'
)comment '员工表';

五. 表结构-查询、修改、删除

sql 复制代码
-- 表结构的查询、修改、删除相关语法

-- 查询当前数据库的所有表
show tables;
-- 查询表结构
desc 表名;
-- 查询建表语句
show create table 表名;

-- 添加字段
alter table 表名 add 字段名 类型(长度) [comment 注释] [约束];
-- 修改字段类型
alter table 表名 modify 字段名 新数据类型(长度);
-- 修改字段名和字段类型
alter table 表名 change 旧字段名 新字段名 类型(长度) [comment 注释] [约束];
-- 删除字段
alter table 表名 drop column 字段名;
-- 修改表名
alter table 表名 rename to 新表名;


-- 删除表
drop table [if exists] 表名;

在删除表时,表中的数据也会被删除。

sql 复制代码
-- 查询当前数据库的所有表
show tables;
-- 查询表结构 desc 表名;
desc emp;
-- 查询建表语句 show create table 表名;
show create table emp;

-- 添加字段 alter table 表名 add 字段名 类型(长度) [comment 注释] [约束];
alter table emp add QQ VARCHAR(13) comment 'QQ号';
-- 修改字段类型 alter table 表名 modify 字段名 新数据类型(长度);
alter table emp modify QQ VARCHAR(20);
-- 修改字段名和字段类型 alter table 表名 change 旧字段名 新字段名 类型(长度) [comment 注释] [约束];
alter table emp change QQ QQ_NUM VARCHAR(20) comment 'QQ号';
-- 删除字段
alter table emp drop column QQ_NUM;
-- 修改表名 alter table 表名 rename to 新表名;
alter table emp rename to employee;

-- 删除表 drop table [if exists] 表名;
drop table if exists employee;
相关推荐
脑子慢且灵1 小时前
MySQL:存储函数和存储过程
数据库·mysql·oracle·存储过程·存储函数
用户590527632131 小时前
极客时间mysql进阶训练营
mysql
2401_890665861 小时前
免费送源码:Java+ssm+MySQL 基于PHP在线考试系统的设计与实现 计算机毕业设计原创定制
java·hadoop·spring boot·python·mysql·spring cloud·php
Themberfue2 小时前
SQL ⑧-事务
数据库·sql·mysql
颯沓如流星2 小时前
MySQL 缓存机制全解析:从磁盘 I/O 到性能优化
mysql·缓存·性能优化
嘉嘉king2 小时前
数据库的基本概念
数据库·mysql·oracle
☞无能盖世♛逞何英雄☜2 小时前
Web三漏洞学习(其二:sql注入)
数据库·sql·学习
2401_824256862 小时前
Spark-SQL(二)
大数据·sql·spark
喆星时瑜3 小时前
【IDEA】创建 SpringBoot 项目连接 MySQL
spring boot·后端·mysql·intellij-idea
[太阳]884 小时前
【无标题】Spark-SQL编程(2)
大数据·sql·spark