MySQL详解,库和表的基础操作

news2024/11/15 8:43:57

目录

前言

一、预备知识

1、服务器,数据库,表关系

2、SQL分类

3、连接服务器

二、库的操作

1、创建数据库

2、查看字符集和校验规则

2.1 查看系统默认字符集以及校验规则

2.2 查看数据库支持的字符集和字符集校验规则

3、操纵数据库 

3.1查看数据库

3.2 修改数据库 

3.3 删除数据库  

4、 查看连接情况

三、表的操作

1、创建表

 2、查看表结构

3、向表中添加元素 

4、删除表


前言

本文主要简单介绍了数据库的组成以及mysql中库的操作和表的操作。


一、预备知识

1、服务器,数据库,表关系

  • 所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。
  • 为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。

三者关系如下图所示:

数据库也是用文件的方式进行数据保存的。所谓的创建数据库就是在Linux下创建了一个目录,所谓的创建数据库表本质上就是在特定的目录下创建特定的文件。 

2、SQL分类

SQL语句是用户和数据库进行交流的方式。分为以下几类:

DDL【data definition language】 数据定义语言,用来维护存储数据的结构
代表指令: create, drop, alter

DML【data manipulation language】 数据操纵语言,用来对数据进行操作
代表指令: insert,delete,update

DCL【Data Control Language】 数据控制语言,主要负责权限管理和事务
代表指令: grant,revoke,commit

 之所以会有不同的SQL分类,是因为使用SQL语句的人是有不同需求的。比如数据库的创建者和维护者负责的内容并不一样。

3、连接服务器

mysql -h 127.0.0.1 -P 3306 -u root -p

注意:
如果没有写 -h 127.0.0.1 默认是连接本地
如果没有写 -P 3306 默认是连接3306端口号 

二、库的操作

1、创建数据库

 语法:

CREATE DATABASE  [IF NOT EXISTS]  db_name   [create_specificatio...]


create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

说明:

  • 大写的表示关键字
  • [] 是可选项
  • CHARACTER SET: 指定数据库采用的字符集
  • COLLATE: 指定数据库字符集的校验规则 

案例:

创建一个使用utf字符集,并带校对规则的db数据库。

create database   db3   charset=utf8   collate utf8_general_ci;

说明:当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则是:utf8_general_ ci 。

2、查看字符集和校验规则

2.1 查看系统默认字符集以及校验规则

show variables like 'character_set_database';
show variables like 'collation_database';

2.2 查看数据库支持的字符集和字符集校验规则

show charset;

show collation;

3、操纵数据库 

3.1查看数据库

查看全部数据库:

show databases;

查看某个数据库的详细创建信息:  

show create database 数据库名;

 注意:/*!40100 default.... */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话。 

3.2 修改数据库 

对数据库的修改主要指的是修改数据库的字符集,校验规则。

语法:ALTER DATABASE db_name  [alter_spacification]

 实例: 将 mytest 数据库字符集改成 gbk

3.3 删除数据库  

语法:DROP DATABASE [IF EXISTS] db_ name;

执行删除之后的结果: 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删。没有特殊情况请不要删除数据库。 

4、 查看连接情况

语法: show processlist

可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。以后大家发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。 

三、表的操作

1、创建表

语法:

CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;

说明:

  • field 表示列名
  • datatype 表示列的类型
  • character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
  • collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准 

案例: 

create  table users (
 id int,
 name varchar(20) comment '用户名',
 password char(32) comment '密码是32位的md5值',
 birthday date comment '生日'
) character set utf8 engine MyISAM;

 2、查看表结构

语法:desc  表名;

示例:

3、向表中添加元素 

示例:

insert into users values(1,'2001-05-06'),(2,'2001-6-5');

 查看表内元素:

4、删除表

语法格式:

DROP  [TEMPORARY]  TABLE  [IF EXISTS]  tbl_name  [, tbl_name] ...

示例:

drop table users; 


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

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

相关文章

ros tf坐标

参考: 讲解:https://www.bilibili.com/video/BV1zt411G7Vn/?p18&vd_source3a1ad336af3eaae4fcced56c75d309d1ROS程序:https://gitee.com/guyuehome/ros_21_tutorials/tree/master/learning_tfROS2程序:https://gitee.com/gu…

公司企业兔年祝福元旦祝福贺卡邀请函模板!

能群发的贺卡邀请函如何制作?想制作一个专属的祝福贺卡邀请函有什么方法?下面跟着小编的乔拓云工具教程!教你如何使用这个工具在线就能轻松搞定设计需求,不仅有海量模板供你使用,还能一键生成链接轻松转发!…

利用vue-cli创建vue3工程

需注意:想创建vue3工程,对vue-cli版本有要求,必须确保vue-cli在4.5.0以上 目录 1、查看vue-cli版本 2、创建工程 3、启动 1、查看vue-cli版本 vue --version(小写v) vue --version或者 vue -V(大写v&…

深入分析Java中finalize方法的作用和底层原理

finalize方法是什么 finalize方法是Object的protected方法,Object的子类们可以覆盖该方法以实现资源清理工作,GC在首次回收对象之前调用该方法。 finalize方法与C的析构函数的区别 finalize方法与C中的析构函数不是对应的,C中的析构函数调…

(小程序)后台交互-首页

目录 一、小程序首页动态数据加载 1.数据库准备 2.后台准备 ① pom.xml ② 配置数据源 ③ 整合mybatis ④ 代码生成 ⑤ mybatis-generator 二、准备前端的首页的数据 1、Promise 2.封装request 3.会议展示 三、通过wxs将首页动态数据优化 一、小程序首页动态数据加…

Git命令版(powernode)

Git命令版(powernode) 目录Git命令版(powernode)1.添加文件相关命令案例实操小结:2.工作区和暂存区2.1 名词解释。2.1.1 工作区(Working Directory)2.1.2 版本库(Repository&#xf…

数据结构之双向链表

双向链表与单向链表较为类似,单向链表有一个指针域,用来指向后继结点,而双向链表有两个指针域,分别用来指向前驱结点和后继结点。玩双向链表时一定要从单向链表的思维中跳出来,否则在操作双向链表时就会出现各种问题。…

【Python百日进阶-数据分析】Day144 - plotly箱线图:go.box()实例

文章目录4.2 go.Box 箱线图4.2.1 基本箱线图4.2.2 基本水平箱线图4.2.3 显示基础数据的箱线图4.2.4 修改计算四分位数的算法4.2.5 带有预先计算的四分位数的箱线图4.2.6 彩色箱线图4.2.7 箱线图样式均值和标准差4.2.8 造型异常值4.2.9 分组箱线图4.2.10 分组水平箱线图4.2.11 彩…

一起学习用Verilog在FPGA上实现CNN----(四)池化层设计

1 池化层设计 自顶而下分析池化层的设计过程 1.1 Average Pool Multi Layer 图为该项目的平均池化层,其包含一个AvgPoolSingle单元,模块的输入为图像特征矩阵,输出为池化后的特征矩阵 图片来自附带的技术文档《Hardware Documentation》 …

Java开发学习(三十六)----SpringBoot三种配置文件解析

一、 配置文件格式 我们现在启动服务器默认的端口号是 8080,访问路径可以书写为 http://localhost:8080/books/1 在线上环境我们还是希望将端口号改为 80,这样在访问的时候就可以不写端口号了,如下 http://localhost/books/1 而 SpringB…

电脑屏录软件,这3款良心软件,分享给你

现在很多人会使用电脑屏录软件,有些用来记录游戏中的精彩操作,有些用来记录在线教学课程,有些用来记录在线视频会议。现在有各种各样的电脑屏录软件。选择一个好的电脑屏录软件是非常重要的。电脑屏录软件哪个好?下面小编分享3款良…

前端基础(四)_数据类型的强制转换

数据类型的强制转换就是通过js提供的函数进行数据转换。常见的就是将其他类型的数据转换成number类型和string类型。 一、其他类型转 number 类型 1.Number Number 方法将其他类型的数据转换为Number类型,返回一个新的数值,不会改变变量本身。 例1&…

【Linux】Linux编辑器-vim的使用以及指令集

推荐先将vim配置好后再使用会方便一些,就是将Linux下vim打造成C IDE的样子。自动配置vim vim1.vim的基本概念2.vim的基本操作2.1进入vim编辑界面2.2 如何在vim编辑代码2.3 退出vim并保存代码2.4一张图总结基本操作3.vim正常模式命令集3.1 进入插入模式和退出插入模式…

自己电脑中安装黑群辉NAS

前期准备:一个品牌U盘(制作后就是启动盘需一直插电脑上)、一台安装群辉的电脑(可以没有硬盘)、一台可正常开机的电脑 资源下载: 百度网盘链接:链接: https://pan.baidu.com/s/1t_yVON16Pt8H1ytpvf0J-A?pwdxe7m 提取…

Little Snitch 5 - Mac 老牌防火墙安全工具软件小飞贼,监控和组织特定软件的网络连接

Little Snitch 5 - Mac 老牌防火墙安全工具软件小飞贼,监控和组织特定软件的网络连接 一旦连接到Internet,应用程序就可以随时随地发送它们想要的任何东西。通常情况下,他们是为你做的。但有时,例如在跟踪软件、木马或其他恶意软件…

ICLR2022 | ViT-VQGAN+:Vector-quantized Image Modeling with Improved VQGAN

论文链接:https://openreview.net/forum?idpfNyExj7z2 | https://arxiv.53yu.com/abs/2110.04627原文标题:Vector-quantized Image Modeling with Improved VQGAN一、问题提出Natural language processing (NLP) has recently experienced dramatic imp…

程序结构你都懂了吗

上一篇:Python中基本输入和输出 昨天有粉丝问我,在看别人代码时总感觉脑子很混乱,不知道代码到哪步是停止,哪步又是开始,这是怎么回事呢? 其实很简单,因为还没有明白程序的基本执行流程&#x…

空间滤波基础

空间滤波是一种图像处理技术,它通过对每个像素周围的像素进行加权平均来平滑图像。这个过程的基本思想是,将每个像素的灰度值与它周围像素的灰度值进行加权平均,然后用平均值来替换原来的像素值。空间滤波器的大小和形状决定了每个像素的加权…

如何用 Redis 统计用户访问量?

本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构等核心知识点,欢迎star~ Github地址:https://github.com/Tyson0314/Java-…

DCN v1 可变形卷积v1解析(修正篇)

在两年前的这篇文章Deformable Convolution(可变形卷积)代码解析(有错误,修改中)中,当时对可变形卷积进行了代码解读,后来被网友指出其中的解释是错的,里面引用的keras版本的代码实现…