MySQL数据库和表的操作

news2024/11/25 2:59:14

数据库基础

存储数据用文件就可以了,为什么还要弄个数据库? 文件保存数据有以下几个缺点:

         1、文件的安全性问题 2、文件不利于数据查询和管理 3、文件不利于存储海量数据 4、文件在程序中控制不方便

数据库存储介质: 磁盘 内存

为了解决上述问题,专家们设计出更加利于管理数据的东西——数据库,它能更有效的管理数据。数据库的水平是衡量一个程序员水平的重要指标。

基本使用

连接数据库

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

注意:

        如果没有写 -h 127.0.0.1 默认是连接本地

        如果没有写 -P 3306 默认是连接3306端口号

创建数据库

        create database helloworld;

使用数据库

        use helloworld;

创建数据库表

create table student(

        id int,

        name varchar(32),

        gender varchar(2)

);

表中插入数据

insert into student (id, name, gender) values (1, '张三', '男');

insert into student (id, name, gender) values (2, '李四', '女');

insert into student (id, name, gender) values (3, '王五', '男');

查询表中的数据

select * from student;

SQL分类

DDL【data definition language】 数据定义语言,用来维护存储数据的结构

        代表指令: create, drop, alter

DML【data manipulation language】 数据操纵语言,用来对数据进行操作

        代表指令: insert,delete,update

        DML中又单独分了一个DQL,数据查询语言,代表指令: select

DCL【Data Control Language】 数据控制语言,主要负责权限管理和事务

        代表指令: grant,revoke,commit

数据库操作

创建数据库

        语法

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...]

        create_specification:

                [DEFAULT] CHARACTER SET charset_name

                [DEFAULT] COLLATE collation_name

        大写的表示关键字

        [] 是可选项

        CHARACTER SET: 指定数据库采用的字符集

        COLLATE: 指定数据库字符集的校验规则

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

示例:

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

create database db3 charset=utf8 collate utf8_general_ci;

字符集和校验规则

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

show variables like 'character_set_database';

show variables like 'collation_database';

查看数据库支持的字符集

show charset;

ps:字符集主要是控制用什么语言。比如utf8就可以使用中文。

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

show collation;

ps:字符集的校验规则,指的是字符集比较大小的时候依据的准则,比如我们比较a和B的大小,如果不考虑大小写,那么a<B,如果考虑大小写,则a>B,也就是说,同一字符集,不同的比较规则,对某列数据的排序结果也就会产生不同。

操纵数据库

查看数据库

show databases;

显示创建语句

show create database 数据库名;

示例:

ps:

        MySQL 建议我们关键字使用大写,但是不是必须的。

        数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字

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

修改数据库

语法:

ALTER DATABASE db_name [alter_spacification [,alter_spacification]...]

alter_spacification:

        [DEFAULT] CHARACTER SET charset_name

        [DEFAULT] COLLATE collation_name

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

删除数据库

DROP DATABASE [IF EXISTS] db_ name;

数据库备份和还原

备份数据库

语法:

# mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径

同时备份多个数据库

# mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径

如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用 source来还原。

示例:将mytest库备份到文件(退出连接)

# mysqldump -P3306 -u root -p123456 -B mytest > D:/mytest.sql

ps:这时,可以打开看看 mytest.sql 文件里的内容,其实把我们整个创建数据库,建表,导入数据的语句都装载这个文件中。

备份表

# mysqldump -u root -p 数据库名 表名1 表名2 > D:/mytest.sql

还原数据库

mysql> source D:/mysql-5.7.22/mytest.sql;

查看连接情况

show processlist

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

表操作

创建表

语法

CREATE TABLE table_name (

        field1 datatype,

        field2 datatype,

        field3 datatype

) character set 字符集 collate 校验规则 engine 存储引擎;

说明:

        field 表示列名

        datatype 表示列的类型

        character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准

        collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准

查看表结构

desc 表名;

修改表

//添加字段

ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column datatype]...);

//修改字段

ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column datatype]...);

//删除字段

ALTER TABLE tablename DROP (column);

//修改表名

alter table users rename to tablename;

删除表

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

示例

drop table t1;

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

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

相关文章

【Spring面试】一、SpringBoot启动优化与最大连接数

文章目录 Q1、SpringBoot可以同时处理多少请求Q2、SpringBoot如何优化启动速度Q3、谈谈对Spring的理解Q4、Spring的优缺点 Q1、SpringBoot可以同时处理多少请求 调试&#xff1a; 写一个测试接口&#xff1a; RestController Slf4j public class RequestController{GetMapping…

找短视频音效、BGM,就上这5个网站

找视频剪辑音效、BGM就上这5个网站下载&#xff0c;免费、付费、商用的全都有&#xff0c;赶紧收藏起来~ 1、菜鸟图库 https://www.sucai999.com/audio.html?vNTYwNDUx 菜鸟图库是一个综合性素材网站&#xff0c;站内涵盖设计、图片、办公、视频、音效等素材。其中音效素材就…

javaee spring整合mybatis spring帮我们创建dao层

项目结构 pom依赖 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/P…

Excel VSTO开发4 -其他事件

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 4 其他事件 针对插件的事件主要有Startup、Shutdown这两个事件&#xff0c;在第2节中已经讲解。在开发窗口中&#xff0c;选择对象…

线程的6种状态

线程的6种状态 状态说明new初始状态&#xff1a;线程被创建&#xff0c;但还没有调用start()方法runnable运行状态&#xff1a;Java线程将操作系统中的就绪和运行两种状态笼统的称作“运行”blocked阻塞状态&#xff1a;表示线程阻塞于锁waiting等待状态&#xff1a;表示线程进…

Direct3D颜色

在Direct3D中颜色用RGB三元组来表示&#xff0c;RGB数据可用俩种不同的结构来保存&#xff0c;第一种是D3DCOLOR&#xff0c;它实际上与DWORD类型完全相同&#xff0c;共有32位&#xff0c;D3DCOLOR类型种的各位被分成四个8位项&#xff0c;每项存储了一种颜色分量的亮度值。 由…

U2Net使用方法和实现多类别语义分割模型改造

作者的碎碎念&#xff1a;U2Net是用来实现SOD的语义分割&#xff0c;本篇论文会介绍算法内容、主要代码、使用方法&#xff0c;以及如何将二分类语义分割修改为多类别语义模型。如果只想知道怎么训练自己的数据集&#xff0c;或者如何修改网络&#xff0c;可以通过目录进行跳转…

【C语言】错题本(2)

题目: 将题目代码粘贴在下面便于分析: #define MAX_SIZE AB struct _Record_Struct {unsigned char Env_Alarm_ID : 4;unsigned char Para1 : 2;unsigned char state;unsigned char avail : 1;}*Env_Alarm_Record;struct _Record_Struct *pointer (struct _Record_Struct*)m…

【PyCharm Community Edition】:PCAN-USB上位机开发

PCAN-USB上位机开发 一级目录二次开发问题记录继承父类的函数platform.system()判断不准确打开PCANBasic.dll出错延伸阅读一级目录 二次开发 下载链接 问题记录 继承父类的函数 python中super().init() platform.system()判断不准确 根据不同系统,打开DLL的方法不同,本来…

IDEA批量解决Lombok警告,开发者必备技巧!

问题背景 用Lombok的Data注解的时候&#xff0c;因为封装了一个公共的Base基础类&#xff0c;总是会提示以下警告提示&#xff1a; Generating equals/hashCode implementation but without a call to superclass, even though this class does not extend java.lang.Object. …

软件测试的基础(1)

程序员(开发) :编写程序代码(实现产品需求) 产品:收集并设计需求-需求文档(根据用户需求进行产品设计) UI设计师:设计界面,向外展示的形态 前端:用代码实现页面的显示 DBA:数据库设计(系统数据之间的关联) 运维:版本控制和发布、升级迭代,环境搭建和维护 客服:客户支持,…

jsvmp逆向(补环境篇)

书接上回 上篇文章写到tx的jsxmp的算法逆向&#xff0c;文章链接在这里。初试jsvmp加密 。但是可能有伙伴觉得不够详细。 这里放一个大佬的文章链接。 https://www.52pojie.cn/thread-1521480-1-1.html 。其实就是一个变形的xtea加密。 大佬的文章已经讲了很清楚了&#…

小程序测试应该进行哪些测试?起到什么作用?

在如今小程序蓬勃发展的时代&#xff0c;越来越多的企业选择开发小程序来扩大业务。在推出小程序之前&#xff0c;进行全面的测试是至关重要的。 一、小程序测试的注意事项 1、功能测试&#xff1a;测试小程序的各项功能是否正常&#xff0c;包括页面跳转、数据加载、提交操作…

依赖导入失败场景和解决方案

在使用 Maven 构建项目时&#xff0c;可能会发生依赖项下载错误的情况&#xff0c;主要原因有以下几种&#xff1a; 下载依赖时出现网络故障或仓库服务器宕机等原因&#xff0c;导致无法连接至 Maven 仓库&#xff0c;从而无法下载依赖。 依赖项的版本号或配置文件中的版本号错…

恒运资本:股市板块轮动顺口溜?

股市是一个变化多端的场所&#xff0c;不同的板块会因为不同的方针、商场影响、经济形势等多种原因而有不同的体现。因而&#xff0c;不同时期不同板块的轮动也成为了研究的热门。下面咱们就通过一个顺口溜&#xff0c;来深化了解股市板块轮动&#xff1a; “钢铁、水泥、煤炭…

Linux如何安装MySQL

Linux安装MySQL5.7 1、下载 官网下载地址&#xff1a;http://dev.mysql.com/downloads/mysql/ 2、复制下面几个文件 3、检查当前系统是否安装过mysql、检查当前mysql依赖环境、检查/tmp文件夹权限 1&#xff09;检查当前系统是否安装过mysql&#xff0c;执行安装命令前&am…

CAS策略

CAS CAS&#xff08;Compare And Swap&#xff09;比较并交换 CAS是多线程环境下对共享变量进行修改时的一种策略&#xff0c;主要存在三个参数&#xff1a;当前值、预估值、结果 CAS采用的策略是当一个线程要对共享变量进行修改时&#xff0c;需要获取内存中共享变量的值作…

自动驾驶中间件

自动驾驶中间件 1. 什么是中间件2. 中间件的分类3. 自动驾驶为什么需要中间件4. 通信中间件 Reference&#xff1a; 自动驾驶中间件&#xff1a;量产落地的关键技术通俗易懂的告诉你什么是中间件 对于初入自动驾驶行业的人来说&#xff0c;各色各样的新型传感器、线控系统、芯…

基于Java+SpringBoot+Vue前后端分离家政服务管理系统的设计与实现【Java毕业设计·文档报告·代码讲解·安装调试】

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

【考研数学】高等数学第五模块 —— 级数(2,幂级数)

文章目录 引言二、幂级数2.1 基本概念2.2 幂级数的收敛半径与收敛域2.3 幂级数的性质2.4 将函数展开为幂级数2.4.1 直接法2.4.2 间接法 2.5 求幂级数的和函数 写在最后 引言 承接前文的常数项级数&#xff0c;我们来继续看看关于幂级数的内容。 二、幂级数 2.1 基本概念 函数…