MySQL基础(一)

学习数据库的目的:

  • 实现数据持久化到本地。
  • 使用完整的管理系统统一管理,可以实现结构化查询,方便管理。

一、数据库概述

数据库(DataBase)
为了方便数据的存储和管理,它将数据按照特定的 规则存储在磁盘上,就是一个存储数据的仓库 。

数据库的相关概念
DB:数据库(DataBase) 存储数据的容器,它保存了一系列有组织的数据。
DBMS:数据库管理系统(DataBase Management System) 又称为数据库软件或数据库产品,用于创建或管理DB。 

二、 SQL 

结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以 及查询、更新和管理关系数据库系统 。

SQL优点: 不是某个特定数据库供应商专有的语言,几乎所有DBMS都支持SQL 简单易学,灵活使用可以进行非常复杂和高级的数据库操作 。

三、DDL 

设计表------ 对于具体的某一个表,在创建之前,需要确定表的下列特征

  • 表名(表信息)
  • 表中的字段
  • 字段的数据类型和长度
  • 哪些约束

设计表的数据类型:

  • 整数
  • 浮点------decimal
    数据类型(M,D):
    M:精度,数据的总长度;
    D:标度,小数点后的长度
  • TEXT列字符字符串
    有4种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT
    它们的长度:

主键:在一张表中代表唯一的一条记录,不能为空,不能重复。

约束:
PRIMARY KEY    设置主键约束
NOT NULL    不能为空约束
UNIQUE    唯一性约束
检查约束    设置条件    外键约束
主键自动增长,设置为自动增长时,只能为整数类型    AUTO_INCREMENT

默认值     DEFAULT default_value

字段注释: comment '注释'

 删除表,修改表名

删除表
DROP TABLE [if exists ]表名

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

复制表结构
CREATE TABLE 新表名 LIKE 被复制表

代码示例如下:

-- 创建数据库
CREATE DATABASE IF NOT EXISTS schooldb CHARSET utf8
-- 删除数据库
DROP DATABASE IF EXISTS schooldb-- mysql中数据库一旦创建,名字不能修改-- 修改数据库字符集
ALTER DATABASE schooldb CHARSET utf8-- 创建表
-- 确定表名  学生信息表
-- 确定表中字段(列) 学号,姓名,性别,生日,电话,身高,注册时间
-- 确定字段(列)的数据类型   以及长度
-- 确定列的约束
-- 创建表语法-- char(n) 定长的字符串  固定存储n个字符,长度如果不够n,默认补空格
-- VARCHAR(n) 可变长度的字符串  n是最大长度  如果只存储2个字符,实际占有2个空间位置CREATE TABLE student(number INT,NAME VARCHAR(6),gender CHAR(1),birthday DATE,phone VARCHAR(11),height DECIMAL(3,2),reg_time DATETIME)-- 删除表结构
DROP TABLE student-- 创建表  并添加约束规则
-- PRIMARY KEY 设置主键约束, 添加主键约束后,值就不能重复,一个表中只能有一个列是主键-- 主键列可以唯一的表示某一行数据 ,-- mysql中主键可以设置为自动增长 AUTO_INCREMENT
-- NOT NULL 不能为空约束
-- UNIQUE 唯一性约束
-- 检查约束 设置条件
CREATE TABLE student(number INT PRIMARY KEY AUTO_INCREMENT COMMENT '学号主键',NAME VARCHAR(6) NOT NULL COMMENT '姓名',gender CHAR(1) NOT NULL COMMENT '性别',birthday DATE NOT NULL,phone VARCHAR(11) NOT NULL UNIQUE,height DECIMAL(3,2) CHECK(height<3),reg_time DATETIME
)

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

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

相关文章

项目解决方案: 视频融合(实时监控视频和三维建模进行融合)设计方案

目 录 一、需求描述 1、视频接入和控制要求 2、视频播放需求 3、提供其他应用的调用 二、方案设计 &#xff08;一&#xff09;系统设计图 &#xff08;二&#xff09;产品实现方案 三、产品和功能描述 &#xff08;一&#xff09;总体描述 &#xf…

Java 数据结构集合

文章目录 Java 数据结构1. 基本数据结构1.1 数组 (Array)1.2 链表 (Linked List)1.3 栈 (Stack)1.4 队列 (Queue)双向队列优先级队列 2. 树形数据结构2.1 二叉树 (Binary Tree)2.2 堆 (Heap) 3. 散列数据结构3.1 哈希表 (Hash Map)3.2 LinkedHashMap3.3 TreeMapConcurrentHashM…

【C++练级之路】【Lv.7】【STL】vector类的模拟实现

快乐的流畅&#xff1a;个人主页 个人专栏&#xff1a;《C语言》《数据结构世界》《进击的C》 远方有一堆篝火&#xff0c;在为久候之人燃烧&#xff01; 文章目录 引言一、成员变量二、默认成员函数2.1 constructor2.2 destructor2.3 copy constructor2.4 operator 三、迭代器…

Java毕业设计-基于jsp+servlet的学生推荐平台管理系统-第81期

获取源码资料&#xff0c;请移步从戎源码网&#xff1a;从戎源码网_专业的计算机毕业设计网站 项目介绍 基于jspservlet的学生推荐平台管理系统&#xff1a;前端 jsp、jquery&#xff0c;后端 servlet、jdbc&#xff0c;集成用户端和管理后台&#xff0c;用户端浏览书籍课程&…

Web06--JavaScript基础02

1、JS流程控制语句 JS与Java一样&#xff0c;也有三个流程控制语句&#xff1a; 顺序结构 选择结构 循环结构 1.1 选择结构 1.1.1 if结构 <script type"text/javascript">if (条件表达式) {代码块;} else if(条件表达式){代码块;} else {代码块;} </scr…

选择排序 | 冒泡排序 | C语言(详解)

一&#xff0c;选择排序 1&#xff0c;基本知识 对排序的双层 for 循环的理解&#xff1a;外层 控制趟数&#xff0c;里层 不断地对数组进行遍历。 2&#xff0c;逐层深入 经典的选择排序GIF动图&#xff0c;如下&#xff1a; 关键部分&#xff1a; Ⅰ&#xff0c;从数组中…

mathematical-expression 实现 数学表达式解析 Java 篇

mathematical-expression 实现 数学表达式解析 Java 篇 Java技术栏 使用 ME&#xff08; mathematical-expression&#xff09;数学表达式解析库 实现Java中 数学表达式 的解析和计算。 目录 文章目录 mathematical-expression 实现 数学表达式解析 Java 篇目录mathematical-…

面试知识点:notify是随机唤醒线程吗(唤醒线程顺序)?

做 Java 开发的小伙伴&#xff0c;对 wait 方法和 notify 方法应该都比较熟悉&#xff0c;这两个方法在线程通讯中使用的频率非常高&#xff0c;但对于 notify 方法的唤醒顺序&#xff0c;有很多小伙伴的理解都是错误的&#xff0c;有很多人会认为 notify 是随机唤醒的&#xf…

构建中国人自己的私人GPT—与文档对话

先看效果 他可以从上传的文件中提取内容作为答案。上传文件摄取速度 摄取速度取决于您正在摄取的文档数量以及每个文档的大小。为了加快摄取速度&#xff0c;您可以在配置中更改摄取模式。 存在以下摄取模式&#xff1a; simple&#xff1a;历史行为&#xff0c;一次按顺序摄…

超实用桌面助手!时间、日期、天气,一目了然!完全免费!

文章目录 &#x1f4d6; 介绍 &#x1f4d6;&#x1f3e1; 环境 &#x1f3e1;&#x1f4d2; 使用方法 &#x1f4d2;⚓️ 相关链接 ⚓️ &#x1f4d6; 介绍 &#x1f4d6; 这是一款我根据自己的需求写的一个桌面小工具&#xff0c;自己一直在用&#xff0c;现在分享给需要的朋…

纯前端实现了Excel文件转JSON和JSON转Excel下载

需求前提&#xff1a; 上传Excel文件&#xff0c;并将Excel文件的内容拿出来转换为JSON本地定义JSON数据&#xff0c;然后将它封装后转换为Excel文件下载 安装依赖 这两个功能是借助xlsx包实现的&#xff0c;所以需要先安装xlsx包&#xff1a; npm install xlxs依赖引用 i…

【Android Gradle 插件】Gradle 基础配置 ④ ( Gradle Wrapper 配置作用 | Gradle 下载的依赖库存放位置 )

一、Gradle Wrapper 配置作用 gradle wrapperdistributionBaseGRADLE_USER_HOME distributionPathwrapper/dists distributionUrlhttps\://services.gradle.org/distributions/gradle-6.7.1-bin.zip zipStoreBaseGRADLE_USER_HOME zipStorePathwrapper/distsGradle Wrapper 配…

【云原生】Docker的安装和镜像操作

目录 什么是Docker&#xff1f; 容器化越来越受欢迎&#xff0c;因为容器是&#xff1a; Docker与虚拟机的区别&#xff1a; 容器在内核中支持2种重要技术&#xff1a; Docker核心概念&#xff1a; 安装Docker 安装依赖包 设置阿里云镜像源 安装 Docker-CE并设置为开机…

C++设计模式之迭代器模式

【声明】本题目来源于卡码网&#xff08;https://kamacoder.com/&#xff09; 【提示&#xff1a;如果不想看文字介绍&#xff0c;可以直接跳转到C编码部分】 【设计模式大纲】 【简介】 --什么是迭代器模式&#xff08;第19种设计模式&#xff09; 迭代器模式是⼀种行为设计模…

docker-compose搭建redis集群

这里用docker-compose在一台机器搭建三主三从&#xff0c;生产环境肯定是在多台机器搭建&#xff0c;否则一旦这台宿主机挂了&#xff0c;redis集群全挂了&#xff0c;依然是单点故障。同时&#xff0c;受机器性能极限影响&#xff0c;其并发也上不去&#xff0c;算不上高并发。…

web开发学习笔记(14.mybatis基于xml配置)

1.基本介绍 2.基本使用 在mapper中定义 在xml中定义&#xff0c;id为方法名&#xff0c;resultType为实体类的路径 在测试类中写 3. 动态sql&#xff0c;if和where关键字 动态sql添加<where>关键字可以自动产生where和过滤and或者or关键字 where关键字可以动态生成whe…

kafka(一)快速入门

一、kafka&#xff08;一&#xff09;是什么&#xff1f; kafka是一个分布式、支持分区、多副本&#xff0c;基于zookeeper协调的分布式消息系统&#xff1b; 二、应用场景 日志收集&#xff1a;一个公司可以用Kafka收集各种服务的log&#xff0c;通过kafka推送到各种存储系统…

Zabbix 整合 Prometheus:案例分享与操作指南

一、简介 Zabbix 和 Prometheus 都是流行的开源监控工具&#xff0c;它们各自具有独特的优势。Zabbix 主要用于网络和系统监控&#xff0c;而 Prometheus 则专注于开源的分布式时间序列数据库。在某些场景下&#xff0c;将这两个工具整合在一起可以更好地发挥它们的优势&#…

vue3源码(二)reactiveeffect

一.reactive与effect功能 reactive方法会将对象变成proxy对象&#xff0c; effect中使用reactive对象时会进行依赖收集&#xff0c;稍后属性变化时会重新执行effect函数。 <div id"app"></div><script type"module">import {reactive,…

从零学Java MySQL

MySQL 文章目录 MySQL初识数据库思考&#xff1a;1 什么是数据库&#xff1f;2 数据库管理系统 初识MySQLMySQL卸载MySQL安装1 配置环境变量2 MySQL目录结构及配置文件 连接MySQL数据库基本命令MySQL基本语法&#xff1a;1 查看MySQL服务器中所有数据库2 创建数据库3 查看数据库…