MySQL(1/3)

news/发布时间2024/5/19 8:40:28

基本命令行操作

命令行连接

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=utf8alter 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.bcls.cn/KeAd/592.shtml

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

相关文章

《Go 简易速速上手小册》第2章:控制结构与函数(2024 最新版)

文章目录 2.1 条件语句:决策的艺术2.1.1 基础知识讲解2.1.2 重点案例:用户角色权限判断实现用户角色权限判断扩展功能实现代码功能扩展:添加或删除用户 2.1.3 拓展案例 1:成绩等级判断实现成绩等级判断功能实现代码扩展功能&#…

SQL Developer 小贴士:显示ADG配置

前提: 已建立ADG配置,主备均为单实例已在SQL Developer中建立了2个连接,分别到ADG的主备节点 然后单击菜单View>DBA,分别连接ADG主备节点,并组织成目录(不必须,但建议)。 在任一…

04 Aras Innovator二次开发-客户端方法

客户端方法为JS方法。 系统提供了很多触发点,可以嵌入客户端方法,如下: 1 对象类的客户端事件页签: 2 窗体的Form Event和Filed Event 3.关系类的网格事件: 4 属性事件: 5.可自定义Action,触发客户端事件…

4核8g服务器能支持多少人访问?2024新版测评

4核8G服务器支持多少人同时在线访问?阿腾云的4核8G服务器可以支持20个访客同时访问,关于4核8G服务器承载量并发数qps计算测评,云服务器上运行程序效率不同支持人数在线人数不同,公网带宽也是影响4核8G服务器并发数的一大因素&…

如何在PDF 文件中删除页面?

查看不同的工具以及解释如何在 Windows、Android、macOS 和 iOS 上从 PDF 删除页面的步骤: PDF 是最难处理的文件格式之一。曾经有一段时间,除了阅读之外,无法用 PDF 做任何事情。但是今天,有许多应用程序和工具可以让您用它们做…

奔跑吧小恐龙(Java)

前言 Google浏览器内含了一个小彩蛋当没有网络连接时,浏览器会弹出一个小恐龙,当我们点击它时游戏就会开始进行,大家也可以玩一下试试,网址:恐龙快跑 - 霸王龙游戏. (ur1.fun) 今天我们也可以用Java来简单的实现一下这…

【机器学习】数据清洗之识别缺失点

🎈个人主页:甜美的江 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:机器学习 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步…

Vscode vim 插件使用Ctrl+C和V进行复制粘贴到剪切板

Vscode vim 插件使用CtrlC和V进行复制粘贴到剪切板 使用这一个插件的时候复制粘贴和其他软件互动的时候体验不好, 并且不可以用Ctrl c, Ctrl v很不爽 "vim.commandLineModeKeyBindings": [{"before" : ["Ctrl", "c"],"after&q…

ThreadLocal(3):ThreadLocal的内部结构

下面介绍ThreadLocal的内部结构,探究它能够实现线程数据隔离的原理。 1 常见的误解 ​如果我们不去看源代码的话,可能会猜测ThreadLocal是这样子设计的:每个ThreadLocal都创建一个Map,然后用线程作为Map的key,要存储…

【WEB环境】-LNTMP或LAMP结构搭建(记录)

一、手工安装搭建 1.1 LNTMP 【nginx:rpm安装】 安装根目录路径:/usr/local/nginx 启动:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 停止kill -QUIT 2072 ./nginx -s stop /usr/local/nginx/sbin/nginx -s stop 重启…

运行jar时提示缺少依赖的类

供应商丢过来一个jar,是用Java写的Windows桌面程序,运行jar时提示缺少依赖的类,一看就是打包没带依赖的库,下面是解决方法: 1、解压缩jar,查看 META-INF 目录下的 MANIFEST.MF,看看都引用了哪些…

代码随想录算法训练营29期|day52 任务以及具体安排

第九章 动态规划part09 198.打家劫舍 // 动态规划 class Solution {public int rob(int[] nums) {if (nums null || nums.length 0) return 0;if (nums.length 1) return nums[0];int[] dp new int[nums.length];dp[0] nums[0];dp[1] Math.max(dp[0], nums[1]);for (int …

Python学习路线图

防止忘记,温故知新 进阶路线

分享一个学英语的网站

名字叫:公益大米网​​​​​​​ Freerice 这个网站是以做题的形式来记忆单词,题干是一个单词,给出4个选项,需要选出其中最接近题干单词的选项。 答对可以获得10粒大米,网站的创办者负责捐赠。如图 触发某些条件&a…

uniapp的配置和使用

①安装环境和编辑器 注册小程序账号 微信开发者工具下载 uniapp 官网 HbuilderX 下载 首先先下载Hbuilder和微信开发者工具 (都是傻瓜式安装),然后注册小程序账号: 拿到appid: ②简单通过demo使用微信开发者工具和…

【JavaScript】分支语句

目录 一、if语句 二、三元运算符 三、switch语句 JS中分支语句可以分为三种&#xff0c;分别是if语句、三元运算符、switch语句。 一、if语句 let num 10 if (num > 20) {console.log("大于20"); } else if (num < 20) {console.log("小于20");…

使用Autodl云服务器或其他远程机实现在本地部署知识图谱数据库Neo4j

本篇博客的目的在于提高读者的使用效率 温馨提醒&#xff1a;以下操作均可在无卡开机状态下就可完成 一.安装JDK 和 Neo4j 1.1 ssh至云服务器 打开你的pycharm或者其他IDE工具或者本地终端&#xff0c;ssh连接到autodl的服务器。(这一步很简单如下图) 1.2 安装JDK 由于我…

【JVM篇】什么是类加载器,有哪些常见的类加载器

文章目录 &#x1f354;什么是类加载器&#x1f6f8;有哪些常见的类加载器 &#x1f354;什么是类加载器 负责在类加载过程中&#xff0c;将字节码信息以流的方式获取并加载到内存当中 &#x1f6f8;有哪些常见的类加载器 启动类加载器 启动类加载器是有Hotspot虚拟机通过的类…

【ArcGIS Pro二次开发】(81):玩个花活_控规指标块生成

一、要实现的效果 废话不多说&#xff0c;这次要实现的是类似控规指标块的标注&#xff1a; 这里只是示例&#xff0c;用了5个格子&#xff0c;做成9个格子也是可以的。 实现这个效果最关键的是要用到Pro中的复合标注。 关于复合标注的用法可以搜一下帮助里的【使用复合注释…

代码随想录算法训练营day17||二叉树part04、110.平衡二叉树 、257. 二叉树的所有路径 、404.左叶子之和

注意&#xff1a;迭代法&#xff0c;可以先过&#xff0c;二刷有精力的时候 再去掌握迭代法。 110.平衡二叉树 &#xff08;优先掌握递归&#xff09; 再一次涉及到&#xff0c;什么是高度&#xff0c;什么是深度&#xff0c;可以巩固一下。 题目&#xff1a;给定一个二叉树&am…
推荐文章