首页 > 数据库 >MySQL基本SQL语句1(DDL)

MySQL基本SQL语句1(DDL)

时间:2023-08-19 20:32:31浏览次数:37  
标签:删除 SQL 数据库 表名 查询 MySQL TABLE DDL

前言

SQL(Structured Query Language)结构化查询语言,用于存取,查询,更新数据以及管理关系型数据库系统

SQL指令分为四类

DDL         Data Defintion language 数据库定义语言
                用于完成对数据库对象(数据表,数据库,视图,索引)的创建,删除,修改
DML         Data Manipulation language 数据操作语言
                用于完成对数据表中的数据添加,删除,修改
DQL         Data Query language 数据查询语言
                用于将数据表中的数据查询出来
DCL         Data Control Laguage 数据控制语言
                用于完成事务管理等控制型操作

本章学习数据库基本语句DDL,以下操作配置是MySQL8.0版本


一、DDL

1.数据库操作语句

查询所有数据库 

SHOW  DATABASES;

查询当前数据库

SELECT  DATABASE();

创建数据库

CREATE DATABASE  [IF NOT EXISTS]数据库名

[DEFAULT CHARSET字符集]  [COLLATE 排序规则];

删除数据库

DROP DATABASE   [IF EXISTS] 数据库名

使用数据库

USE    数据库名

连接服务器

先输入   net start mysql80        启动MySQL服务

(80是我的版本,不一样的具体看环境变量配置) 

关闭服务的命令是:net stop mysql80

MySQL基本SQL语句1(DDL)_数据库

 接着输入 mysql -uroot -p  然后输入自己的服务器密码 

MySQL基本SQL语句1(DDL)_数据类型_02

代码演示

 show databases;      查询所有数据库

MySQL基本SQL语句1(DDL)_数据库_03

 create database         if not exists lbh         charset utf8mb4;

创建数据库  在当前数据库不存在lbh数据库时    字符集为utf8mb4

(如果不加入if not exists,当前数据库已经存在这个数据库时就会报错)

MySQL基本SQL语句1(DDL)_数据类型_04

drop database [ if exists ] 数据库名 ;          删除数据库

MySQL基本SQL语句1(DDL)_表名_05

 use 数据库名;        使用数据库

出现 Database changed 说明已经进入到这个数据库里面

用select database();命令可以查询当前所处的数据库名

MySQL基本SQL语句1(DDL)_数据库_06

2. DDL 表操作 查询

查询当前数据库所有表

SHOW TABLES;

查询表结构

DESC  表名;

查询指定表的建表语句

SHOW CREATE TABLE  表名;

演示 

  查询当前数据库所有表        SHOW TABLES;

MySQL基本SQL语句1(DDL)_数据库_07

 查询表结构        DESC  表名;

MySQL基本SQL语句1(DDL)_表名_08

 查询指定表的建表语句        SHOW CREATE TABLE  表名

MySQL基本SQL语句1(DDL)_表名_09

 3. DDL 表操作 创建

表创建方式如下

MySQL基本SQL语句1(DDL)_数据库_10

下面我们来代码演示 如何创建下面的这个表

id

name

age

gender

1

小李

20


2

小黎

18


3

小叶

18


MySQL基本SQL语句1(DDL)_数据类型_11

  4. DDL 表操作 修改

添加字段

ALTER TABLE 表名 ADD 字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];


修改数据类型

ALTER TABLE 表名 MODIFY 字段名 新数据类型 (长度); 


修改字段名和字段类型

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];  


删除字段

ALTER TABLE 表名 DROP 字段名;   


修改表名

ALTER TABLE 表名 RENAME TO 新表名;  

  5. DDL 表操作 删除

删除表 

DROP TABLE [ IF EXISTS ] 表名;  

加入 IF EXISTS ,只有表名存在时才会删除该表,表名不存在,则不执行删除操作(如果不

加该参数项,删除一张不存在的表,执行将会报错)。


删除表 然后重新创建

TRUNCATE TABLE 表名;  

删除表的时候,表中的全部数据也都会被删除 

  6. DDL 数据类型

在上述的建表语句中,我们在指定字段的数据类型时,用到了int ,varchar,那么在MySQL中除了

以上的数据类型,还有哪些常见的数据类型呢

在MySQL中常用数据类型主要分为以下几类

  1. 数值类型
  2. 字符串类型
  3. 日期时间类型

数值类型

MySQL基本SQL语句1(DDL)_数据库_12

如:


1)年龄字段 -- 不会出现负数, 而且人的年龄不会太大


age tinyint unsigned




2)分数 -- 总分100分, 最多出现一位小数


score double(4,1)

字符串类型

MySQL基本SQL语句1(DDL)_表名_13

如:


1). 用户名 username ------> 长度不定, 最长不会超过50


username varchar(50)




2). 性别 gender ---------> 存储值, 不是男,就是女


gender char(1)




3). 手机号 phone --------> 固定长度为11


phone char(11)

MySQL基本SQL语句1(DDL)_数据类型_14

如:


1). 生日字段 birthday


birthday date




2). 创建时间 createtime


createtime datetime


总结

 个人认为记住 int,decimal,char,varchar,date,datetime这些基本的就够日常开发使用了,我们的数据库管理系统都是不区分大小写的,但是编写规范的sql语句我们的关键字是建议使用大写。


标签:删除,SQL,数据库,表名,查询,MySQL,TABLE,DDL
From: https://blog.51cto.com/u_16179624/7151765

相关文章

  • PaddleOCR学习笔记3-通用识别服务
    今天优化了下之前的初步识别服务的python代码和html代码。采用flask+paddleocr+bootstrap快速搭建OCR识别服务。代码结构如下: 模板页面代码文件如下:upload.html:<!DOCTYPEhtml><html><metacharset="utf-8"><head><title>PandaCodeOCR</title><!-......
  • SQL注入基础学习
    SQL注入基础一、sql注入的基本知识Ⅰ、sql注入原理通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。通常未经检查或者未经充分检查的用户输入数据或代码编写问题,意外变成了代码被执行。产生漏洞的条件:参数用户可控参......
  • 记一次MySQL数据库被黑
    情况概述偶然获得了一台云服务器,并在上面使用Docker搭建了MySQL数据库,想着将平时做Demo用到的数据转过去,结果一直犯懒没弄.今天在登陆时发现数据库被黑了.使用showdatabases命令后看到一个名为README_TO_RECOVER_A的库,库中有张表,表的内容为:Allyourdataisbacke......
  • MySQL技能树学习
    在MySQL相关技能树的学习过程当中,存在一些问题,比如在移动端的学习体验和PC的学习体验不一样,这个相信学习过的朋友都有所感觉。尤其移动端的技能树切换、同一个技能树内,不同节点的切换,都比较繁琐。PC感觉还好,同样不太好的还有在移动端的返回功能比较难用,   整体而言,MySQL的技......
  • Navicat执行mysql脚本报错
    1、错误日志[Err]1055-Expression#1ofORDERBYclauseisnotinGROUPBYclause andcontainsnonaggregatedcolumn'information_schema.PROFILING.SEQ' whichisnotfunctionallydependentoncolumnsinGROUPBYclause; thisisincompatiblewith......
  • 大华智慧园区综合管理平台SQL注入漏洞复现
    一、产品简介大华智慧园区综合管理平台是一款综合管理平台,具备园区运营、资源调配和智能服务等功能。平台意在协助优化园区资源分配,满足多元化的管理需求,同时通过提供智能服务,增强使用体验。二、漏洞概述大华智慧园区综合管理平台未对用户的输入进行有效的过滤,直接将其拼接进了S......
  • MySqlBulkLoader批量数据插入
    MySqlBulkLoader批实现过程:将需要的数据集保存到CSV文件,然后再从文件里面读取。 CsvHelp1///<summary>2///定义csv文件3///</summary>4///<paramname="folder">路径</param>5///<paramname="......
  • PostgreSQL 源码性能诊断(perf profiling)指南(含火焰图生成分析FlameGraph) - 珍藏级
    PostgreSQL源码性能诊断(perfprofiling)指南(含火焰图生成分析FlameGraph)-珍藏级作者digoal日期2016-11-28标签PostgreSQL,Linux,perf,性能诊断,stap,systemtap,strace,dtrace,dwarf,profiler,perf_events,probe,dynamicprobe,tracepoint......
  • java实现本地数据与阿里云MySQL数据同步:动态表创建与数据更新
    在开发应用程序时,经常需要将数据从一个数据源(如API、外部数据库等)同步到本地数据库中。这可能涉及到不同的表结构和数据模式。在这种情况下,一个主要的挑战是,如果本地数据库中的表结构与源数据不匹配,应该如何自动适应这些变化并确保数据同步的顺利进行。解决方案:动态表创建与数据......
  • SQL Server 批量导出存储过程、视图和函数
    selecta.name,a.[type],b.[definition]FROMsys.all_objectsa,sys.sql_modulesbwherea.is_ms_shipped=0anda.object_id=b.object_idanda.[type]in('P','V','AF')orderbya.[name]asc当type为‘P’时,为存储过程当 type为‘V’......