MySQL(1/3)

news2024/11/29 10:34:52

基本命令行操作

命令行连接

mysql -uroot -p

回车,然后在下一行输入密码,或者直接在p后写密码

修改密码

updata mysql.user set authentication_string=password('原密码') where user='root' and Host = 'localhost';

刷新权限

flush privileges;

查看所有数据库

show databases;

切换数据库

use 数据库名

成功会提示Database changed

查看数据库中所有表

show tables;

显示数据库中指定的表的信息

decribe 表名;

 创建一个数据库

create darabase 数据库名;

退出连接

exit; 

注意所有语句要用分号结尾,不分大小写

注释

#注释内容     --注释内容     /*注释内容*/

数据库语言

DDL        定义

DML        操作

DQL        查询

DCL        控制

CRUD增删改查

操作数据库

操作数据库>操作数据库中的表>操作数据库中表的数据

1.创建数据库

create database (if not exists) 数据库名

2.删除数据库

drop database (if exists) 数据库名

3.使用数据库

use `数据库名`

如果表明或者字段名是一个特殊字符,就需要带``

4.查看数据库

show database

数据库的列类型

数值

tinyint           十分小的数据             1个字节

smallint        较小的数据                 2个字节

mediumint    中等大小的数据         3个字节

int                 标准的整数                4个字节

bigint            较大的数据                8个字节

float              浮点数                       4个字节

double          浮点数                       8个字节

decimal        字符串形式的浮点数  金融计算的时候一般使用

字符串

char           字符串固定大小        0-255

varchar      可变字符串               0-65535        即String

tinytext       微型文本                  0-255

text             文本串                     0-65535        保存大文本

时间日期

data        YYYY-MM-DD,日期格式

time        HH:mm:ss,时间格式

datatime   YYYY-MM-DD  HH:mm:ss  最常用的时间格式

timestamp        时间戳,1970.1.1到现在的毫秒数

year    年份

null

未知数

不要使用null来计算

数据库的字段属性

Unsigned

无符号整数

声明该列不能声明为负数

zerofill

0填充的

不足的位数使用0来填充如5,005

非空 NULL not null

设置后字段不能为(null)

默认(defult)

默认值

自增

用来设计唯一的主键,主键类似于index,必须是整数类型

自动在上一条记录的基础上+1(默认)

创建数据库表

例子

CREATE TABLE IF NOT EXISTS `student` (
	`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
	`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
	`pswd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码',
	`sex` VARCHAR(2) NOT NULL DEFAULT '男' COMMENT '性别',
	`birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
	`address` VARCHAR(100) DEFAULT NULL COMMENT '地址',
	`email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
	PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8

常用命令

SHOW CREATE DATABASE school;  -- 查看创建数据库的语句
SHOW CREATE TABLE student;    -- 查看student数据表的定义语句
DESC student -- 显示表的结构

MylSAM和Innodb的区别

在物理空间存在的位置

所有的数据库文件都在data目录下,本质还是文件存储

·innodb在数据库表中只有一个*.frm文件,以及上级目录下的ibdata1文件

·MYISAM对应文件

        *.frm        表结构的定义文件

        *.MYD        数据文件(data)

        *.MYI          索引文件(index)

修改和删除数据库表字段

-- 修改表名 ALTER TABLE 旧表名 RENAME AS 新表名
ALTER TABLE teacher rename as teacher1
-- 增加表的字段 alter table 表名 add 字段名 列属性
alter table teacher1 add age int(3)

-- 修改表的字段(重命名,修改约束)
-- alter table 表名 modify 字段名 列属性[]
alter table teacher1 modify age varchar(11)  -- 修改约束
-- alter table 表名 change 新名 列属性[]
alter table teacher1 change age age1 int(1) -- 字段重命名

-- 删除表的字段
alter table teacher1 drop age1

-- 删除表
drop table if exists teacher1

change和modify的区别

数据库级别的外键

第一种添加外键的方式

create table if not exists `grade` (
	`gradeid` int(10) not null auto_increment comment '年级id',
	`gradename` varchar(50) not null comment '年级名称',
	primary key(`gradeid`)
)engine=innodb default charset=utf8

-- 定义外键key
	-- 给这个外键添加约束(执行引用) references 引用
CREATE TABLE IF NOT EXISTS `student` (
	`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
	`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
	`pswd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码',
	`sex` VARCHAR(2) NOT NULL DEFAULT '男' COMMENT '性别',
	`birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
	`address` VARCHAR(100) DEFAULT NULL COMMENT '地址',
	`email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
	`gradeid` int(10) not null comment '年级id',
	PRIMARY KEY(`id`),
	key `FK_gradeid` (`gradeid`),
	constraint `FK_gradeid` foreign key (`gradeid`) references `grade`(`gradeid`)
)ENGINE=INNODB DEFAULT CHARSET=utf8

第二种添加外键的方式,推荐

create table if not exists `grade` (
	`gradeid` int(10) not null auto_increment comment '年级id',
	`gradename` varchar(50) not null comment '年级名称',
	primary key(`gradeid`)
)engine=innodb default charset=utf8

-- 定义外键key
	-- 给这个外键添加约束(执行引用) references 引用
CREATE TABLE IF NOT EXISTS `student` (
	`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
	`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
	`pswd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码',
	`sex` VARCHAR(2) NOT NULL DEFAULT '男' COMMENT '性别',
	`birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
	`address` VARCHAR(100) DEFAULT NULL COMMENT '地址',
	`email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
	`gradeid` int(10) not null comment '年级id',
	PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8

alter table `student` add constraint `FK_gradeid` foreign key (`gradeid`) references `grade`(`gradeid`);

公式 alter table 表 add constraint 约束名 foreign key (`作为外键的列`) references 哪个表(哪个字段)

insert语句

语法:insert into `表名` (字段1,字段2....) values (值1)(值2)(.....)

主键自增可以省略

不写字段就会一一匹配

update语句

update 表名 set 列名1=新值,列名2=新值.... where 约束条件

如果没有约束条件默认给全部列替换新值

删除

delete

语法:delete from 表名 (where条件)

无条件全部删除,有条件删除满足条件数据

truncate命令

作用:完全清空一个数据库表,表的结构和索引约束不会变

语法:truncate 表名

二者异同

相同点:都能删除数据,都不会删除表结构

不同:

1.truncate 重置设置 自增列计数器会归零,delete不会

2.truncate 不会影响事务

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

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

相关文章

数据库索引面试的相关问题

查看索引的执行计划 索引失效的情况 1、索引列上做了计算,函数,类型转换等操作。索引失效是因为查询过程需要扫描整个索引并回表。代价高于直接全表扫描。 Like匹配使用了前缀匹配符“%abc” 字符串不加引号导致类型转换。 原因: 常见索…

03 SS之返回JSON+UserDetail接口+基于数据库实现RBAC

1. 返回JSON 为什么要返回JSON 前后端分离成为企业应用开发中的主流,前后端分离通过json进行交互,登录成功和失败后不用页面跳转,而是给前端返回一段JSON提示, 前端根据JSON提示构建页面. 需求: 对于登录的各种状态 , 给前端返回JSON数据 …

面向对象编程(三)

目录 1. 关键字:static 1.1 类属性、类方法的设计思想 1.2 static关键字 1.3 静态变量 1.3.1 语法格式 1.3.2 静态变量的特点 1.3.3 举例 1.3.4 内存解析 1.4 静态方法 1.4.1 语法格式 1.4.2 静态方法的特点 1.4.3 举例 2. 单例(Singleton)设计模式 2…

HarmonyOS router页面跳转

默认启动页面index.ets import router from ohos.router import {BusinessError} from ohos.baseEntry Component struct Index {State message: string Hello World;build() {Row() {Column() {Text(this.message).fontSize(50).fontWeight(FontWeight.Bold)//添加按钮&am…

简约火箭发射静态404错误页面源码

简约火箭发射静态404错误页面源码,源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面 蓝奏云下载:https://wfr.lanzout.com/iK…

烦人的鼠标唤醒电脑功能彻底禁用

1.常规操作禁用鼠标唤醒 搜索设备 电源管理取消勾选 这样操作后, 系统更新等各种原因, 又会失效, 需要反复操作, 很烦 2.关闭计算机管理的计划任务 禁用 3.查询唤醒原因 powercfg /waketimers powercfg /lastwake

多模态学习综述(MultiModal Learning)

最早开始关注到多模态机器学习是看到Jeff Dean在2019年年底NeurIPS大会上的一个采访报道,讲到了2020年机器学习趋势:多任务和多模态学习将成为突破口。 Jeff Dean 谈2020年机器学习趋势:多任务和多模式学习将成为突破口 站在2022年&#xff…

华为模拟器防火墙配置实验(四)

实验拓扑图 需求: 1,办公区设备可以通过电信链路和移动链路正常上网(多对多的NAT,并且需要保存一个公网IP不能用来转换) 2,分公司的设备可以通过总公司的移动链路和电信链路访问DMZ区域的http服务器 3&…

VSCODE上使用python_Django

接上篇 https://blog.csdn.net/weixin_44741835/article/details/136135996?csdn_share_tail%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22136135996%22%2C%22source%22%3A%22weixin_44741835%22%7D VSCODE官网: Editing Python …

python+django咖啡网上商城网站

全网站共设计首页、咖啡文化、咖啡商城、个人信息、联系我们5个栏目以及登录、注册界面,让用户能够全面的了解中国咖啡咖啡文化宣传网站以及一些咖啡知识、文化。 栏目一首页,主要放置咖啡的起源及发展进程的图文介绍;栏目二咖啡文化&#xf…

FPGA 高速接口(LVDS)

差分信号环路测试 1 概述 LVDS(Low Voltage Differential Signalin)是一种低振幅差分信号技术。它使用幅度非常低的信号(约350mV)通过一对差分PCB走线或平衡电缆传输数据。大部分高速数据传输中,都会用到LVDS传输。 …

多维时序 | Matlab实现基于VMD-DBO-LSTM、VMD-LSTM、LSTM的多变量时间序列预测

多维时序 | Matlab实现基于VMD-DBO-LSTM、VMD-LSTM、LSTM的多变量时间序列预测 目录 多维时序 | Matlab实现基于VMD-DBO-LSTM、VMD-LSTM、LSTM的多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab实现基于VMD-DBO-LSTM、VMD-LSTM、LSTM的多变量时间…

06 分频器设计

分频器简介 实现分频一般有两种方法,一种方法是直接使用 PLL 进行分频,比如在 FPGA 或者 ASIC 设计中,都可以直接使用 PLL 进行分频。但是这种分频有时候受限于 PLL 本身的特性,无法得到频率很低的时钟信号,比如输入 …

LeetCode 热题 100 Day01

哈希模块 哈希结构: 哈希结构,即hash table,哈希表|散列表结构。 图摘自《代码随想录》 哈希表本质上表示的元素和索引的一种映射关系。 若查找某个数组中第n个元素,有两种方法: 1.从头遍历,复杂度&#xf…

【Node-RED】安全登陆时,账号密码设置

【Node-RED】安全登陆时,账号密码设置 前言实现步骤密码生成setting.js 文件修改 安全权限 前言 Node-RED 在初始下载完成时,登录是无账号密码的。基于安全性考虑,本期博文介绍在安全登陆时,如何进行账号密码设置。当然&#xff…

spring boot自动装配及自动装配条件判断

第一步需要在pom.xml文件指定需要导入的坐标 要是没有自动提示需要检查maven有没有 实现代码 /*springboot第三方自动配置实现方法 * 什么是自动配置 自动配置就是springboot启动自动加载的类不需要在手动的控制反转自动的加入bean中 * * *//*第一种方案包扫描 不推荐因为繁琐…

CentOS 7.9如何禁止内核自动更新升级

要在 CentOS 7.9 系统中禁止内核自动更新,你可以通过配置 YUM(Yellowdog Updater, Modified)来实现。这里有几种方法可以阻止内核自动更新: 方法 1: 使用 exclude 选项在 YUM 配置中 编辑 YUM 的配置文件 /etc/yum.conf&#xff…

第三篇【传奇开心果系列】Python的文本和语音相互转换库技术点案例示例:pyttsx3实现语音助手经典案例

传奇开心果短博文系列 系列短博文目录Python的文本和语音相互转换库技术点案例示例系列 短博文目录一、项目背景和目标二、雏形示例代码三、扩展思路介绍四、与其他库和API集成示例代码五、自定义语音示例代码六、多语言支持示例代码七、语音控制应用程序示例代码八、文本转语音…

【C语言】Debian安装并编译内核源码

在Debian 10中安装并编译内核源码的过程如下: 1. 安装依赖包 首先需要确保有足够的权限来安装包。为了编译内核,需要有一些基础的工具和库。 sudo apt update sudo apt upgrade sudo apt install build-essential libncurses-dev bison flex libssl-d…

kettle中JavaScript使用例子

1.将输入日期减一后,得到对应格式的输出 输入为20240216则Alert输出20240215 日期减一。 对应函数参考: https://blog.csdn.net/doasmaster/article/details/112978529