DDL(保姆级教学)

news2024/12/26 16:48:19

目录

DDL:

1、数据库的创建:

2、由于重复创建同名数据库会报错

3、注意如果默认字符集为Latin1,其不支持中文,所以改为:

数据库的创建:

数据表的创建

属性的数据类型

1、数值类型:

2、字符串类型:

3、常用的时间和日期类型:

数据表的删除与修改

1、删除数据表

2、修改表名称

3、查看表结构

修改表结构:

1、增加表中列

2、修改表中列的数据类型

3、修改表中列的名称

4、删除表中列


DDL:

                数据定义语言DDL可以用来创建数据库中的各种对象:数据库、数据表、视图、索引等。

                1、create database:

                                                创建数据库

               2、create  table:

                                                创建数据表

                3、create view:

                                                创建视图

                4、create index:

                                                创建索引

1、数据库的创建:

        基本格式:create database<数据库名>

2、由于重复创建同名数据库会报错

       所以一般都使用:create database [if  not exists] <数据库名>;

        如果不存在“数据库名”就创建数据库。

3、注意如果默认字符集为Latin1,其不支持中文,所以改为:

create database<数据库名> [default charset utf-8];

创建数据库“数据库名”,并设置其默认字符集为utf-8;

数据库的创建:

        create database <数据库名>;

##数据库的创建
create database test;

当数据库创建成功后,会在左边的项目中显示出来,如果没显示,请点击鼠标右键,点击refresh all(刷新所有)

 因为SQL不允许创建同名的数据库,所以在创建数据库前可以先进行判断,如果是同名则创建失败,如果不是则创建成功
如果要创建的是同名的数据库,则Mysql会报错:database exists(数据库已存在)

-- 因为SQL不允许创建同名的数据库,所以在创建数据库前可以先进行判断,如果是同名则创建失败,如果不是则创建成功
-- 如果要创建的是同名的数据库,则Mysql会报错:database exists(数据库已存在)
create database if not exists test;

 数据库创建成功之后,可以通过左栏,查看该数据库的信息以及更改数据库的字符集

第一个按钮:查看数据库的信息

第二个按钮:更改数据库的字符集,还不能更改名

  因为如果字符集不是utf-8,则数据库不能使用中文命名,所以在创建数据库的时候可以顺便设置字符集utf8

create database test default charset utf8;
-- 创建一个数据库,名称为test,并设置字符集为utf8

以下命令将不再提供演示,请自行尝试
1、查看数据库
show databases;
2、删除数据库
数据库一旦被删除,数据将难以恢复
drop database <数据库名>;
3、使用数据库(进入数据库)
use <数据库名>;
只有进入了数据库才能操作数据库中的数据表等数据库对象

#查看当前数据库中所有的数据库
show databases;
#数据库的删除
drop database test;
#数据库的使用
create database db_1;
use db_1;-- 使用数据库(进入数据库)
-- 只有进入了数据库,才能在当前数据库中创建数据表等数据库对象

数据表的创建


数据表创建的基本格式:
        create table [if not exists] <表格名称>
        (
            属性名1 属性类型 [约束...],
            属性名2 属性类型 [约束...],
            ........
            属性名n 属性类型 [约束...]
        )[engine innodb] [charset=utf8];
        #创建表并设置它的属性名、数据类型、存储引擎和字符集

        #5.7版本需要加上char set=utf8

create database test;
#数据表的创建可以理解成定义一个结构体,不过里面的数据定义方式是和C相反的,这里是数据类型写在后面
#这里的圆括号表示数据的大小,等同于c语言中的方括号, 只不过SQL采用的是圆括号
create table people(
p_id int,
p_name char(20),
p_gender char(4),
p_age int
);

属性的数据类型

1、数值类型:


所谓的自适应就是存多少数据,自动调整占多大的内存,也就是说没有固定的空间,这样就不会浪费空间了

2、字符串类型:

3、常用的时间和日期类型:

数据表的删除与修改

1、删除数据表

                                drop table<数据表名>;

2、修改表名称

                                rename table <表名> to <新表名>;

3、查看表结构

                                1、desc<表名>

                                2、show columns from <表名>;

-- 删除数据表

drop table <数据表名>;

-- 修改表名称

rename table  <表名> to <新表名>;

-- 查看表结构(两种方式都行)

desc <表名>
show columns from <表名>;

修改表结构:

1、增加表中列


                                alter table <表名> add <属性列名> <属性类型> [约束];


2、修改表中列的数据类型


                                alter table <表名> modify column <属性列名> <类型> [约束];


3、修改表中列的名称


                                alter table <表名> change column <属性列名>
                                    <修改后的属性列名> <类型> [约束];

4、删除表中列


                         alter table <表名> drop column <属性列名>;

#增加表中列
alter table people_tb add p_birthday date;
#修改表中列的数据类型
alter table people_tb modify column p_name varchar(30);
#修改表中列的名称
alter table people_tb change column p_birthday 出生年月 date;
-- 一般很少做数据表结构的修改操作,能够在创建数据库时给定好的,就不要在创建之后修改
#删除表中列
alter table people_tb drop column p_age;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/98187.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

离散数学-用以图转化为矩阵并且求出这个矩阵的最大度最小度

题目: 从键盘输入无向图的邻接矩阵&#xff0c;判断输出该图结点最大度数、最小度数。 问题的分析&#xff1a; 对于一个图的输入&#xff0c;你一定会去使用二维数组来进行数据的存储&#xff0c;那么第一步就是建立一个二维数组&#xff0c;然后来进行输入&#xff0c;我下…

广域网技术——SRv6隧道类型及数据转发

目录 SRv6节点 节点角色 节点行为 SRv6数据转发隧道建立方式 SRv6 BE L3VPNv4 over SRv6 BE EVPN L3VPNv6 over SRv6 BE SRv6 TE Policy SRv6使用IPv6数据平面&#xff0c;基于IPv6扩展头进行扩展实现类似标签转发的处理 SR-MPLS在建立SR-MPLS隧道时&#xff0c;如果有…

Windows版本的Redis(新版本的GitHub地址)

Redis通常被称为数据结构服务器&#xff0c;因为值&#xff08;value&#xff09;可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型 Redis官网地址&#xff1a;Redis 关于Windows版本 Redis目前提供源码、Docker镜像、云版三种下载形…

利用@Retryable注解实现重试机制

Retryable 它可以作用在方法上&#xff0c;当方法抛出指定的异常时&#xff0c;整个方法将会被重新执行。在使用时需要先在pom.xml中导入相关依赖&#xff0c;再在启动类中添加EnableRetry注释以开启重试功能&#xff0c;最后在相应的方法上添加Retryable注释。 引入依赖 <…

【边缘检测】蚁群算法图像边缘检测【含Matlab源码 1189期】

⛄一、获取代码方式 获取代码方式1&#xff1a; 完整代码已上传我的资源&#xff1a;【边缘检测】基于matlab蚁群算法图像边缘检测【含Matlab源码 1189期】 获取代码方式2&#xff1a; 通过订阅紫极神光博客付费专栏&#xff0c;凭支付凭证&#xff0c;私信博主&#xff0c;可…

12.17 - 每日一题 - 408

每日一句&#xff1a; 我们生活在行动中&#xff0c;而不是生活在岁月里;我们生活在思想中&#xff0c;而不是生活在呼吸里。 数据结构 1 在有向图G的拓扑序列中&#xff0c;若顶点Vi在顶点Vj之前&#xff0c;则下列情形不可能出现的是______ A.G中有弧<Vi,Vj>B.G中有…

sqli-labs 通关笔记详解 Less1 - Less10

文章目录GET显错注入流程前置知识注入步骤GET盲注基本流程前置知识注入步骤Less - 1Less - 2Less - 3Less - 4Less - 5Less - 6Less - 7Less - 8Less - 10做sqli-labs靶场之前建议补一下基础 SQL注入简介和注入方法教学 Web安全基础-SQL MySQL SQLMAP工具 详细使用方法 GET显…

动态规划问题——换钱的最少货币数

题目&#xff1a; 给定数组arr&#xff0c;arr中所有的值都为正数且不重复。每个值代表一种面值的货币&#xff0c;每种面值的货币可以使用任意张&#xff0c;在给定一个整数aim&#xff0c;代表要找的钱数&#xff0c;求组成aim的最少货币数。 示例&#xff1a; arr [5,2,…

自动生成MySQL DDL建表语句

简介项目中大部分情况下都是使用MySQL数据&#xff0c;而且主要使用的数据库类型是char、varchar、date、datetime、timestamp、int、tinyint等几种常见的数据类型&#xff1b;而且进行表设计时&#xff0c;一般都要出一份表设计文档&#xff0c;例如表设计模板如下因为有了如此…

[附源码]Nodejs计算机毕业设计基于移动端的药方收集系统Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置&#xff1a; Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分…

【Spring】一文带你吃透IOC容器技术

目录 一、前言 二、IOC容器技术 1、ioc概念 2、DI依赖注入 2.1、构造注入依赖 2.2、setter注入依赖 3、ioc底层实现 4、基于xml配置声明Bean以及使用 4.1、根节点标签beans 4.2、声明Bean 4.3、Bean的使用 5、面向接口编程 5.1、新增接口IOrderService 5.2、Order…

非零基础自学Golang 第11章 文件操作 11.2 文件基本操作 11.2.2 文件读取

非零基础自学Golang 文章目录非零基础自学Golang第11章 文件操作11.2 文件基本操作11.2.2 文件读取第11章 文件操作 11.2 文件基本操作 11.2.2 文件读取 想要读取文件可以使用os库中的Read接口&#xff1a; func (f &#xff0a;File) Read(b []byte) (n int, err error)Re…

RCNN网络源码解读(Ⅳ) --- 训练SVM二分类模型的准备过程

目录 1.回忆上一讲及本讲我们要做什么 2.回顾finetune是怎么训练的&#xff08;finetune.py&#xff09; 3. 训练SVM二分类模型 &#xff08;linear_svm.py&#xff09; 3.1 load_data 3.2 custom_classifier_dataset.py 3.3 custom_batch_sampler.py 3.4 hinge_loss 1…

python制作问题搜索解答器,从此学习无忧

前言 大家早好、午好、晚好吖 ❤ ~ 今天博主给大家带来一个问题搜索解答器&#xff01;&#xff01; 需要素材 以及一双慧手和一个灵活的脑子~ 效果展示 代码展示 导入模块 import requests import tkinter as tk from tkinter import ttk import webbrowserdef search(wor…

北京车牌那么难摇为什么还能那么受欢迎?

在北京生活的人来说一块北京车牌真的影响正常生活&#xff0c;特别是这两年的疫情反复...&#xff0c;面对房贷房租&#xff0c;衣食住行&#xff0c;就算外面世界再纷纷扰扰&#xff0c;也要面对...所以在北京生活没有一辆北京车牌汽车真的很麻烦。 对于在北京生活的人来说就…

【C语言刷题】PTA基础编程题目集精选

作者&#xff1a;匿名者Unit 专栏&#xff1a; 《C语言刷题》 目录题目精选6-7 统计某类完全平方数6-9 统计个位数字6-10 阶乘计算升级版6-11 求自定类型元素序列的中位数题目精选 6-7 统计某类完全平方数 我们先看一下题目要求&#xff1a; 根据题目给出的要求&#xff1a…

瑞格科技IPO被终止:曾拟募资5.6亿 江振翔三兄弟为实控人

雷递网 雷建平 12月17日浙江瑞格智能科技股份有限公司&#xff08;简称&#xff1a;“瑞格科技”&#xff09;日前IPO被终止。瑞格科技计划募资5.59亿元&#xff0c;其中&#xff0c;2.55亿元用于年产1000万套汽车配件技改项目&#xff0c;9240万元用于年产500万件智能传感器及…

css深度选择器deep

1.为什么要有deep 1.当我们给组件设置scoped的时候&#xff0c;此时我们组件的css样式只会对自己的内容生效&#xff0c;不会对子组件里面的内容生效。 <style lang"scss" scoped> .login-page {min-height: 100vh;background: url(/assets/login-bg.svg) no-r…

大脑网络的图论分析

利用图论测量大脑结构和功能网络的四个步骤: 定义网络节点——在脑电研究中&#xff0c;电极天然形成节点&#xff1b;在磁共振研究中&#xff0c;可以使用不同的脑图谱作为节点或者基于体素水平进行研究估计节点之间的连接性——结构上&#xff0c;可以由DTI计算两个脑区之间…

一文深度剖析扩散模型究竟学到了什么?

Title: <Diffusion Art or Digital Forgery? Investigating Data Replication in Diffusion Models> Paper: https://arxiv.org/pdf/2212.03860.pdf Github: Just get the point. 文章目录导读技术提升动机贡献背景图像检索与复制检测深度学习中的记忆语言模型中的记忆扩…