数据库如何建表

news2024/11/23 19:44:25

MySQL数据库建表过程 

目录

创建并使用数据库

第一步:打开命令行

第二步:运行MySQL

第三步:建立数据库以及表数据

创建表时约束条件

约束类型

其他SQL语句 

MySQL命令行导入导出数据库


创建并使用数据库

第一步:打开命令行

有的是直接输入密码就可以(软件版比较常用)

有的是首先Win+r 输入cmd,打开MySQL命令行(用的多一些)

还有的是到数据库安装目录下的【bin】文件夹,在地址栏中运行【cmd】

注意:Windows启动 MySQL 的几种方式

第二步:运行MySQL

运行cmd后输入:【mysql -u root -p 再回车,我的没有密码,所以password那里没有输入。 

【正常来讲输入自己设置的密码:(默认:123456)直接回车。】

第三步:建立数据库以及表数据

首先就是建立一个数据库,在这里我们把数据库的名字命名为:jdbc_demo 

输入:

create database jdbc_demo;

2、然后我们检查一下是否创建成功

输入:

show databases;

3、使用数据库

输入:

use jdbc_demo;

4、创建表,让表中有ID、名字、密码三条信息(里面信息可以随便改)

输入:

create table user(
        id int(4) not null primary key auto_increment,
        username varchar(20) not null,
        password varchar(10) not null 
       );

当然我们在创建表之前可以先判断一下这个表在不在

如果数据库中存在这个表,就把它从数据库中drop掉。

DROP TABLE IF EXISTS 表名;

总的来说可以这样写:

DROP TABLE IF EXISTS user;

create table user
(
    id int(4) primary key auto_increment,   -- 主键ID 可以不设置非空,因为主键本来就是非空且唯一
    username varchar(20) not null,  -- 用户名  非空
    password varchar(10) not null   -- 密码   非空
);

5、查看表是否存在

输入:

show tables;

6、查看表的定义

输入:

desc user;

7、插入数据(我们在这里随便写一下)

输入:

insert into user values(0,"tom","12");

8、查看数据

输入:

select * from user;

到这里我们就完成一个创建数据库、建表的过程了,我们看一下运行效果:

  

注意事项:所有的符号都是英文编写。

创建表时约束条件

约束是建表时给某一列增加的强制数据规则

创建表的语法结构

CREATE TABLE <表名> (
   <列名>  <数据类型>  [列级完整性约束定义] 
   {, <列名>  <数据类型>  [列级完整性约束定义]
                 … } 
   [, 表级完整性约束定义 ]
);

约束类型

根据上表student表结构写一下约束类型:

主键:PRIMARY KEY 一个表最多只能设置一个,是表每行的唯一性标识,非空且唯一

外键:FOREIGN KEY是别的表中的主键,两个表有依赖关系),被别的表依赖的表称为父表,依赖别的表的表成为子表,子表数据增加或修改时,数据必须在父表中存在。父表中数据删除或修改时,数据没有被子表使用

非空:NOT NULL(不允许为空)

唯一性:UNIQUE(如果某列定义加了这个约束,那后续数据不允许出现重复),比如说手机号。每个表最好都有主键约束

检查约束:CHECK (条件表达式),用于限制列的取值范围或规则,例如限制性别只能是男或女

自增:auto_increment常用在主键上,如果ID有1、2、3、4、5,删掉了3号,那么会变成:1、2、4、5)

【例一】用student表进行举例

student 表
snonamesexagedepuid
09512101张三18计算机系000001
09512102李四19计算机系000002
09512103王五20计算机系000003
student 表结构
列名数据类型约束说明
snoCHAR(8)主键每个学生学号应非空且唯一
nameCHAR(10)非空姓名信息必须要保存        
sexCHAR(2)检查取值“男”或“女”
ageINT检查小于10,大于60的学生年龄无意义
depVARCHAR(26)default默认值为“计算机系”
uidCHAR(18)唯一值每个人的身份证号是唯一

创建 student 表

CREATE TABLE student(
    sno CHAR(8) PRIMARY KEY ,
    name CHAR(10) NOT NULL ,
    sex CHAR(2) CHECK(sex ='男' OR sex ='女'),
    age INT CHECK(age >=10 AND age <=60),
    dep VARCHAR(26) default '计算机系',
    uid CHAR(18) UNIQUE
);

【例二】用stulesson表进行举例

stulesson 选课表
snocnamescore
001数据库原理90
003数据库原理80
003C语言75
stulesson 选课表结构
列表数据类型约束说明
snoCHAR(8)
cnameCHAR(50)非空姓名信息必须要保存
scoreINT检查在0~100之间

创建 stulesson 表

CREATE TABLE stulesson(
    sno CHAR(8),
    cname CHAR(50) NOT NULL,
    score INT CHECK(score >=0 AND score <=100),
    PRIMARY KEY(sno, cname), 
    FOREIGN KEY(sno) REFERENCES student(sno)
)

注释:

<表名>:所要定义的基本表的名字

<列名>:组成该表的各个属性(列)

<列级完整性约束条件>:涉及相应属性列的完整性约束条件

<表级完整性约束条件>:涉及一个或多个属性列的完整性约束条件

其中 PRIMARY KEY 为主码约束,CHECK为检查约束
 

其他SQL语句 

删除数据库:

drop database 数据库名

删除表:

drop table 表名

在表的末尾添加一个列:

Alter table 表名 add 列名 数据类型 (约束条件);

在表的开头添加一个列:

Alter table 表名 add 列名 数据类型 (约束条件) first;

MySQL命令行导入导出数据库

想直接导入sql文件或者写好后想导出数据库怎么办

MySQL命令行导入导出数据库

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

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

相关文章

帧内帧间预测实验

帧内帧间预测实验 文章目录 帧内帧间预测实验帧间预测配置opencv 帧内预测解决jupyter notebook无法找到虚拟环境的问题 帧间预测 配置opencv .h文件是头文件&#xff0c;包含了类、函数、变量的声明&#xff0c;用于在源代码文件中引用和访问这些声明。头文件通常包含函数和…

【OpenCV • c++】图像几何变换 | 图像坐标映射

&#x1f680; 个人简介&#xff1a;CSDN「博客新星」TOP 10 &#xff0c; C/C 领域新星创作者&#x1f49f; 作 者&#xff1a;锡兰_CC ❣️&#x1f4dd; 专 栏&#xff1a;【OpenCV • c】计算机视觉&#x1f308; 若有帮助&#xff0c;还请关注➕点赞➕收藏&#xff…

基于PyQt5的桌面图像调试仿真平台开发(12)图像灰度显示

系列文章目录 基于PyQt5的桌面图像调试仿真平台开发(1)环境搭建 基于PyQt5的桌面图像调试仿真平台开发(2)UI设计和控件绑定 基于PyQt5的桌面图像调试仿真平台开发(3)黑电平处理 基于PyQt5的桌面图像调试仿真平台开发(4)白平衡处理 基于PyQt5的桌面图像调试仿真平台开发(5)…

BUU [网鼎杯 2020 青龙组]AreUSerialz

BUU [网鼎杯 2020 青龙组]AreUSerialz 先看题目&#xff0c;是个php反序列化。源码如下。 <?phpinclude("flag.php");highlight_file(__FILE__);class FileHandler {protected $op;protected $filename; protected $content;function __construct(…

Ceph:关于 Ceph 中 BlueStore 架构以及 OSD 创建的一些笔记

写在前面 准备考试&#xff0c;整理ceph 相关笔记内容涉及&#xff1a;Blue Store OSD 存储引擎介绍&#xff0c;对应 OSD 的不同创建方式理解不足小伙伴帮忙指正 对每个人而言&#xff0c;真正的职责只有一个&#xff1a;找到自我。然后在心中坚守其一生&#xff0c;全心全意&…

FreeCAD 3D绘图教程

推荐&#xff1a;将 NSDT场景编辑器 加入你的3D开发工具链 构建现实世界 FreeCAD主要用于为现实世界设计对象。您在FreeCAD中所做的一切都使用现实世界的单位&#xff0c;无论是微米&#xff0c;公里&#xff0c;英寸还是英尺&#xff0c;甚至是单位的任意组合。FreeCAD提供了…

FreeRTOS实时操作系统(十)信号量

系列文章目录 文章目录 系列文章目录信号量二值信号量二值信号量API函数创建二值信号量函数释放二值信号量函数获取二值信号量函数 实验测试 计数型信号量计数型信号量API函数动态创建函数信号量计数值获取函数 实验测试 优先级反翻转实验测试 互斥信号量API函数实验测试 信号量…

深兰科技与韩国EVERYBOT集团签署服务机器人出口订单

7月4日&#xff0c;在深兰科技集团上海总部&#xff0c;韩国EVERYBOT Inc.集团与深兰科技智胜(上海)科技有限公司签署了服务机器人出口订单及韩国市场战略合作协议。根据协议&#xff0c;EVERYBOT将从深兰科技订购首批服务机器人&#xff0c;同时成为深兰科技各类服务机器人产品…

Layui如何给lay-data插入按钮呢?如何通过按钮获取Id值呢?

&#x1f607;作者介绍&#xff1a;一个有梦想、有理想、有目标的&#xff0c;且渴望能够学有所成的追梦人。 &#x1f386;学习格言&#xff1a;不读书的人,思想就会停止。——狄德罗 ⛪️个人主页&#xff1a;进入博主主页 &#x1f5fc;推荐系列&#xff1a;点击进入 &#…

机器学习实战:Python基于NN神经网络进行分类(十一)

文章目录 1 前言1.1 神经网络的介绍1.2 神经网络的应用 2. Tensorflow实战演示2.1 导入函数2.2 导入数据2.3 数据预处理2.4 建立神经网络2.5 训练模型2.6 评估模型2.7 预测 3. 讨论 1 前言 神经网络&#xff08;Neural network&#xff0c;NN&#xff09;机器学习是一种基于人…

【动态规划算法】第五题:62.不同路径

&#x1f496;作者&#xff1a;小树苗渴望变成参天大树 &#x1f389;作者宣言&#xff1a;认真写好每一篇博客 &#x1f38a;作者gitee:gitee &#x1f49e;作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 动态规划算法 如 果 你 喜 欢 作 者 的 文 章 &#xff0c;就 给 作…

查看虚拟机主机IP

虚拟机主机ip 文章目录 ifconfigip addr图形化界面 ifconfig 失败了 ip addr 图形化界面

动手学DL——环境部署随笔【深度学习】【Anaconda】【CUDA】【PyTorch】【jupyter】

文章目录 1、环境部署1.1、安装 Anaconda1.2、安装 GPU版 PyTorch1.3、安装结束1.4、 jupyter 连接虚拟环境 1、环境部署 记录虚拟环境安装部署细节&#xff0c;以备重装。 1.1、安装 Anaconda anaconda 2022.10 windows 版本,https://repo.anaconda.com/archive/ 加入环境变量…

如何在 Django框架下完成 websocket 连接 在 Heroku 上部署 websocket 应用

文章目录 websocket 和 socket 连接的区别与 Django 建立 websocket 连接ASGI v.s. WSGIDjango > 3.0ChannelsDaphnesettings.pyconsumers.py & routing.py 测试 websocket 连接postman Heroku 部署 websocket 应用asgi.pyProcfile websocket 和 socket 连接的区别 Webs…

TLS、SSL、CA 证书、公钥、私钥

1. HTTP 的问题 HTTP 协议是超文本传输协议&#xff08;Hyper Text Transfer Protocol&#xff09;的缩写&#xff0c;它是从 WEB 服务器传输超文本标记语言 HTML 到本地浏览器的传送协议。HTTP 设计之初是为了提供一种发布和接收 HTML 页面的方法&#xff0c;时至今日&#x…

计算机组成原理(期末或考研备考)- 主存储器,DRAM,SRAM,ROM

讲解视频 SRAM VS DRAM DRAM工作原理 DRAM采用栅极电容上的电荷存储信息&#xff0c;由于DRAM上的电容电荷一般只能维持1-2ms&#xff0c;即使电源不断电&#xff0c;信息也会自动消失。因此每隔一定时间必须刷新。 集中刷新&#xff0c;利用固定的时间对所有的行进行刷新&am…

程序员和网络安全的优劣势一览表

程序员的优点&#xff1a; 学的都是计算机基础和一些程序语言&#xff0c;入门比较简单&#xff0c;无论什么行业参加几个月的培训找到一份月薪5K的工作还是没有问题的&#xff0c;人才的需求量虽然没有之前多&#xff0c;但是对真正有技术的人才需求还是挺大的。 程序员的缺…

Python_魔法属性和方法

目录 魔法属性 __doc__ __moudle__ __class__ __name__ __dict__ 魔法方法 __new__() __init__ () __del__() __call__() __str__ () __getitem__()&#xff0c;__setitem__(),__delitem__() __setattr__()、__getattr__&#xff08;&#xff09; __iter__() …

构建LLM应用你所要知道的事情;Midjourney可以生成图片外的场景

&#x1f989; AI新闻 &#x1f680; AI作画工具Midjourney推出新功能"Pan"&#xff0c;可以生成图片外的场景 摘要&#xff1a;AI作画工具Midjourney最近推出了"pan"功能&#xff0c;用户可以通过控制输入框中的"上下左右"来平移图片以生成场…

【案例】VR全景图:效果+源码

狠人话不多说,直接放视频效果地址 一、效果 1.视频效果 视频效果地址:点击这里 2.图片效果 二、构思 该怎么实现?页面如何布局页面是否可随意控制显示1.功能 控制页面显示数量可放大控制全景图+自动播放左右按钮控制上一页或下一页(尾页:下一页按钮隐藏,首页:上一页按…