零基础学习数据库SQL语句之定义数据库对象的DDL语句

简介: 零基础学习数据库SQL语句之定义数据库对象的DDL语句

DDL语句

DDL

Date Definition Language

数据定义语言,用来定义数据库对象(数据库,表,字段)

基本操作

数据库操作

查询所有数据库

SHOW DATEBASES

查询当前数据库

SELECT DATEBASE()

创建

CREATE DATEBASE [IF NOT EXISTS] 数据库名字 [DEFAULT CHARSET 字符集] [COLLATE 排序规则]

删除

DROP DATEBASE [IF EXISTS] 数据库名

使用

USE 数据库名

具体操作

查看数据库

包含系统自带的数据库

创建数据库

这样就有了itcast数据库

数据库创建时不可以同名

加入可选项 如果不存在则创建 如果存在则不创建

创建数据库设置字符集

删除数据库

加入可选项 如果不存在则不删除 如果存在则删除

使用数据库

使用itcast数据库

表操作

先用use指令使用数据库 再进行表操作

查询当前数据库所有表

SHOW TABLES;

查询表结构

DESC 表名;

查询指定表的建表语句

SHOW CREATE TABLE 表名;

表的创建

CREATE TABLE 表名(
 
字段1 字段1类型[COMMENT 字段1注释],
 
字段2 字段2类型[COMMENT 字段2注释],
 
字段3 字段3类型[COMMENT 字段3注释],
 
...
 
字段n 字段n类型[COMMENT 字段n注释],
 
)[COMMENT 表注释];

数据类型

MySQL中数据类型有很多

主要分为

三类 数值类型,字符串类型,日期时间类型

数值类型

三类 数值类型,字符串类型,日期时间类型

字符串类型

带BLOB描述二进制数据 音频软件安装包 性能不高并且不方便管理 用的并不多

带TXT的常用

使用char 定长字符串

根据字符长度规定字符串大小 性能好

varchar(10)变长字符串

都占用10个字符 性能较差

日期类型

创建表案例

修改表操作

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

举例

修改字段

修改数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
修改字段名和字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度)[COMMENT 注释] [约束];

案例

删除字段
ALTER TABLE 表名 DROP 字段名;

修改表名
ALTER TABLE 表名 RENAME TO 新表名

删除表
DROP TABLE[IF EXISTS] 表名;
 
删除表后并重新创建该表(不掌握即可)
 
TRUNCATE TABLE 表名;
 
仅仅创建表但是删除了数据

DDL语句总结

数据库操作
查看当前有那些数据库
 
SHOW DATEBASES;
 
 
 
创建数据库
 
CREATE DATABASE 数据库名;
 
 
 
切换某个数据库使用某个数据库
 
USE 数据库名;
 
 
 
查看当前处于哪个数据库当中
 
SELECT DATABASE();
 
 
 
指定数据库的名称
 
DROP DATABASE();
 
 
 
我们在实际代码时可以加入某些参数比如
 
IF EXIT
表操作
查看当前数据库所有表
 
SHOW TABLES;
 
 
 
创建表 指定表名
 
CREATE TABLE 表名(字段 字段类型,字段 字段类型);
 
 
 
查看表里有那些字段
 
DESC 表名;
 
 
 
查询这张表的建表语句
 
SHOW CREATE TABLE 表名;
 
 
 
表结构修改 添加/修改字段类型/修改字段名称及类型/删除字段/修改表名
 
ALTER TABLE 表名 ADD/MODIFY/CHANGE/DROP/RENAME TO...;
 
 
 
删除表
 
DROP TABLE 表名;

代码演示

#展示当前所有数据库
SHOW DATABASES ;
#创建数据库到mysql
CREATE DATABASE IF NOT EXISTS BigDate1421 ;
#删除数据库
DROP DATABASE IF EXISTS BigDate1421;
#使用数据库
USE BigDate1421;
#查询当前数据库
SELECT DATABASE();
#查询当前数据库的所有表
SHOW TABLES ;
#创建表
CREATE TABLE USER(
                     name char comment '姓名',
                     age int comment '年龄'
)comment '用户信息';
#查询指定表的建表语句
SHOW CREATE TABLE `USER`;
#查询指定表结构
DESC `USER`;
#添加字段
ALTER TABLE USER ADD hobby char comment '爱好';
#修改字段数据类型
ALTER TABLE USER MODIFY hobby TINYBLOB;
#修改字段名和数据类型
ALTER TABLE USER CHANGE hobby hobbys char comment '爱好';
#删除字段
ALTER TABLE USER DROP hobbys;
#修改表名
ALTER TABLE USER RENAME TO Student;
ALTER TABLE Student RENAME TO USER;
#删除表
DROP TABLE USER;

目录
相关文章
|
23天前
|
SQL 人工智能 数据可视化
16.1k star! 只需要DDL就能一键生成数据库关系图!开源神器ChartDB让你的数据结构"看得见"
ChartDB是一款开源的数据库可视化神器,通过一句智能查询就能自动生成专业的数据库关系图。无需安装客户端、不用暴露数据库密码,打开网页就能完成从数据建模到迁移的全流程操作,堪称开发者的"数据库透视镜"。
173 67
|
2月前
|
存储 SQL 数据库
【赵渝强老师】达梦数据库的数据库对象
达梦数据库包含基本与复杂两大类数据库对象。基本对象如表、索引、视图、序列和同义词,通过单一DDL语句创建和管理。表是数据存储核心,支持多种数据类型;索引提升查询速度,常见类型包括聚集、唯一、函数等索引;视图提供虚表功能;序列生成有序整数;同义词简化对象访问。复杂对象包括存储过程、函数和触发器,需用DMSQL语言开发,适用于更复杂的业务逻辑处理。文中通过实例详细介绍了各类对象的创建与使用方法。
|
5月前
|
SQL 存储 关系型数据库
【MySQL基础篇】全面学习总结SQL语法、DataGrip安装教程
本文详细介绍了MySQL中的SQL语法,包括数据定义(DDL)、数据操作(DML)、数据查询(DQL)和数据控制(DCL)四个主要部分。内容涵盖了创建、修改和删除数据库、表以及表字段的操作,以及通过图形化工具DataGrip进行数据库管理和查询。此外,还讲解了数据的增、删、改、查操作,以及查询语句的条件、聚合函数、分组、排序和分页等知识点。
【MySQL基础篇】全面学习总结SQL语法、DataGrip安装教程
|
6月前
|
SQL Java 数据库连接
canal-starter 监听解析 storeValue 不一样,同样的sql 一个在mybatis执行 一个在数据库操作,导致解析不出正确对象
canal-starter 监听解析 storeValue 不一样,同样的sql 一个在mybatis执行 一个在数据库操作,导致解析不出正确对象
|
6月前
|
SQL 安全 前端开发
Web学习_SQL注入_联合查询注入
联合查询注入是一种强大的SQL注入攻击方式,攻击者可以通过 `UNION`语句合并多个查询的结果,从而获取敏感信息。防御SQL注入需要多层次的措施,包括使用预处理语句和参数化查询、输入验证和过滤、最小权限原则、隐藏错误信息以及使用Web应用防火墙。通过这些措施,可以有效地提高Web应用程序的安全性,防止SQL注入攻击。
168 2
|
7月前
|
SQL 存储 数据库
SQL学习一:ACID四个特性,CURD基本操作,常用关键字,常用聚合函数,五个约束,综合题
这篇文章是关于SQL基础知识的全面介绍,包括ACID特性、CURD操作、常用关键字、聚合函数、约束以及索引的创建和使用,并通过综合题目来巩固学习。
187 1
|
8月前
|
SQL 关系型数据库 数据库连接
php连接数据库之PDO,PDO的简单使用和预定义占位符的使用以及PDOStatement对象的使用,占位符的不同形式,bindValue和bindParam绑定预定义占位符参数的区别
本文介绍了PHP中PDO(PHP Data Objects)扩展的基本概念和使用方法。内容包括PDO类和PDOStatement类的介绍,PDO的简单使用,预定义占位符的使用方法,以及PDOStatement对象的使用。文章还讨论了绑定预定义占位符参数的不同形式,即bindValue和bindParam的区别。通过具体示例,展示了如何使用PDO进行数据库连接、数据查询、数据插入等操作。
php连接数据库之PDO,PDO的简单使用和预定义占位符的使用以及PDOStatement对象的使用,占位符的不同形式,bindValue和bindParam绑定预定义占位符参数的区别
|
9月前
|
SQL 存储 关系型数据库
PostgreSQL核心之SQL基础学习
PostgreSQL核心之SQL基础学习
116 3
|
9月前
|
SQL 数据处理 数据库
|
9月前
|
SQL 安全 Java
访问者模式问题之在上面的 SQL 结构定义中, sealed 接口的作用如何理解
访问者模式问题之在上面的 SQL 结构定义中, sealed 接口的作用如何理解

热门文章

最新文章