MySQL学习笔记-数据定义语言
SQL-数据定义语言(DDL)
一.操作数据库
1.查询
# 查询所有数据库
show databases;
# 查询当前数据库
select database();

2.创建
create database [if not exists] {数据库名} [default charset {字符集}] [collate {排序规则}];
常用可选项:
- [if not exists] :若重名数据库存在则不执行任何操作
- [default charset {字符集}] :指定数据库使用的字符集,如utf-8(据说不建议设为utf-8,建议设为utf-8mb4)
- [collate {排序规则}] :指定数据库使用的排序规则

3.删除
drop database [if exists] {数据库名};
[if exists] :如果存在则删除

4.使用
use {数据库名};
二.操作表
1.查询
1.1. 查询当前数据库所有表
show tables;

1.2. 查询指定表
desc {表名};

1.3. 查询指定表的建表语句
show create table {表名};

2.创建
create table {表名}(
字段1 类型 [null] [comment 注释],
字段2 类型 [null] [comment 注释],
...
字段n 类型 [null] [comment 注释]
)[comment 表注释];
[null] : 允许使用null值
字段:指的是表中对象的内容的名字,如表中对象为人,那字段可以是姓名、性别、年龄等等,相当于表格中的列表头。

注意:在终端中操作数据库,在未写分号之前回车会自动换行,但是换行后无法编辑上面行的内容,需要在换行前确认内容无误。
3.数据类型
挺多的,详细内容直接上网搜。
一些知识点:
数值类型使用无符号时,直接在后面加上unsigned即可,如无符号整数:int unsigned
char(定长字符串)和varchar(变长字符串)使用时需要在后面括号加上制定的最大字符数量,如char(10)。
char类型即时存储的字符少于规定,依旧会以空格填充满规定长度;varchar类型则不会,存了多少就算多少(前提是少于规定字符数量)。char比varchar性能高。
4.修改和删除
4.1. 添加字段
alter table {表名} add {字段名} {类型(长度)} [comment {注释}] [{约束}];

4.2. 修改
# 修改数据类型
alter table {表名} modify {字段名} {新数据类型(长度)};
# 修改字段名和字段类型
alter table {表名} change {旧字段名} {新字段名} {新数据类型(长度)} [comment {注释}] [{约束}];
# 修改表名
alter table {表名} rename to {新表名};

4.3. 删除
# 删除字段
alter table {表名} drop {字段名};
# 删除表
drop table [if exists] {表名};
# 删除指定表,并重新创建该表
truncate table {表名};
MySQL学习笔记-数据定义语言的更多相关文章
- 【MySQL】DDL数据定义语言的基本用法create、drop和alter(增删改)
DDL 的基础语法 文章目录 DDL 的基础语法 对数据库进行定义 对数据表进行定义 创建表结构(数据表) 设计工具 修改表结构 小结 参考资料 简单复习一波 SQL必知必会 DDL 的英文全称是 D ...
- <MySQL>入门三 数据定义语言 DDL
-- DDL 数据定义语言 /* 库和表的管理 一.库的管理:创建.修改.删除 二.表的管理:创建.修改.删除 创建:create 修改:alter 删除:drop */ 1.库的管理 -- 库的管理 ...
- MySQL学习笔记 -- 数据表的基本操作
数据库是一个可以存放数据库对象的容器,数据库对象包括:表.视图.存储过程.函数.触发器.事件.其中,表是数据库最基本的元素,是其他数据库对象的前提条件. 表中的一列称为一个字段,一行称为一条记录. 1 ...
- mysql学习笔记--数据操作
一.插入数据 1. 语法:insert into 表名 (字段名.字段名,...) values (值1,值2...) 2. 注意: a. 插入字段的个数和顺序与值的个数和顺序必须一致 b. 通过de ...
- MySQL SQL DLL (数据定义语言)
CREATE CREATE DATABASE CREATE DATABASE 用于创建数据库 CREATE DATABASE new_database_name; CREATE TABLE CREAT ...
- MySQL之DDL数据定义语言:库、表的管理
库的管理 常用命令 #创建库 create database if not exists 库名 [ character set 字符集名]; create database if not exists ...
- mysql学习笔记--数据库内置函数
一.数字类 1. 生成随机数:rand() a. 随机抽取2位 select * from stuinfo order by rand() limit 2 2. 四舍五入:round(数字) 3. 向 ...
- oracle学习笔记(三) DCL 数据控制语言与 DDL 数据定义语言
DCL 数据控制语言 Data control language 之前说过的授权和收权利语句 grant, revoke DDL 数据定义语言 Data define language create ...
- Mysql学习笔记(三)对表数据的增删改查。
正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...
- MySQL学习笔记_5_SQL语言的设计与编写(上)
SQL语言的设计与编写(上) 一.SQL语句分类 数据定义语言(DDL): 用于定义和管理数据对象,包括数据库.数据表.视图.索引等.例如:CREATE.DROP.ALTER等语句. 数据操作语言(D ...
随机推荐
- i-MES生产制造管理系统-老化时间管控
在生产过程中,产品的可靠性是影响其性能和寿命的关键因素,因此提高产品的可靠性是十分必要的,而老化测试是提高产品可靠性的重要手段之一,老化的时间随着产品不同而变化,因此老化时间管控变得尤为重要! 在ME ...
- redis cluster 的核心原理分析:gossip 通信、jedis smart 定位、主备切换
节点间的内部通信机制 基础通信原理 redis cluster 节点间采取 gossip 协议进行通信 gossip:互相之间不断通信,保持整个集群所有节点的数据是完整的 而集中式是将集群元数据(节点 ...
- Linux 安装 adb环境
一. 查看系统是否安装有adb adb或者adb version 二.通过apt-get安装adb 1. 安装adb sudo apt-get install android-tools-adb 2. ...
- 离线语音识别,vosk,离线流式实时静音噪声监测,支持多语言开发python c++ c# java等
#!/usr/bin/env python3 from vosk import Model, KaldiRecognizer, SetLogLevel import sys import os imp ...
- log4j2 lookup漏洞修复方法
2021.12.10凌晨,Apache Log4j远程代码执行漏洞细节被公开,参考链接:https://unit42.paloaltonetworks.com/apache-log4j-vulnera ...
- Oracle sql 月份的加减以及差值
Oracle sql 月份的加减以及差值 差值 使用months_between,输出的是两个日期的差值 select months_between(TO_DATE('2022-05-31','yyy ...
- 力扣239(Java)- 滑动窗口最大值(困难)
题目: 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧.你只可以看到在滑动窗口内的 k 个数字.滑动窗口每次只向右移动一位. 返回 滑动窗口中的最大值 . 示 ...
- 当微服务遇上 Serverless | 微服务容器化最短路径,微服务 on Serverless 最佳实践
简介: 阿里云Serverless应用引擎(SAE)初衷是让客户不改任何代码,不改变应用部署方式,就可以享受到微服务+K8s+Serverless的完整体验,开箱即用免运维. 前言 微服务作为一种更 ...
- [Go] gorm 返回指定模型数据的处理方式
重新 var 声明一个变量,类型为包含指定字段的结构体. 查询的时候,还是使用原始模型类型的变量. example: // For return data var retMember struct { ...
- 2019-9-30-dotnet-枚举当前设备wifi热点
title author date CreateTime categories dotnet 枚举当前设备wifi热点 lindexi 2019-09-30 14:42:18 +0800 2019-9 ...