【MySql】mysql之基础语句

news2025/1/22 12:50:01

一、常用的数据类型

类型解释举例
int整型用于定义整数类型的数据(1、2、3、4、5…)
float单精度浮点(4字节32位)准确表示小数点后六位
double双精度浮点(8字节64位)小数位更多,更精确
char固定长度的字符类型定义字符长度(存的少,会补空格,存的多被截取,高版本报错)
varchar可变长度的字符类型定义字符最大长度(存的小,总长度变小,存的大于最大,报错)
text文本
image图片
decimal(5,2)总共5个有效长度数字,小数点后面有

char和varchar的区别

  • char: 如果存入数据的实际长度比指定长度要小,会补空格指指定长度,如果存入的数据的实际长度大于指定长度,低版本会被截取,高版本会报错。
  • varchar: 如果存入的数据实际长度比指定长度要小,那么指定长度会变成实际长度一样,如果存入的数据的实际长度大于指定长度,会报错。

 截取和截断的区别

  • 截取会对后一位进行四舍五入,截断直接获取要的数字,不进行四舍五入。

二、数据库管理

SQL语言分类

  • DDL: 数据定义语言,用于创建数据库对象,如库、表、索引等
  • DML: 数据操纵语言,用于对表中的数据进行管理
  • DQL: 数据查询语言,用于从数据表中查找符合条件的数据记录
  • DCL: 数据控制语言,用于设置或更改数据库用户或角色权限

1、mysql基础语句操作

1.1 设置密码、登录数据库

mysqladmin -u root -p password "123456"   #给数据库设置密码(后面的回车)

mysql -uroot -p "123456"   #直接登录数据库
mysql -u root -p        #登录数据库,输入密码后完成登录

直接登录如下:(不安全)

 先登录数据库,再回车输入密码:(这种方式比较安全,密码不会暴露再外被其他人看到)、如下:

 1.2 查看数据库结构

show databases;     #查看有多少数据库(分号要加)
use mysql           #进入一个数据库中,(分号可以不加)
show tables;        #查看该数据库中有多少个表

 

1.3 查看表的结构 

describe  db;     #查看表的字段属性(可缩写为desc db)

2、DDL语句:定义数据中的操作

  • DDL语句可用于创建数据库对象(库、表、索引)

  • 删除数据库和表

 2.1 创建数据库和表-create

create database school;     #创建一个名为school的数据库

create table  ky30 (id int(10) not null,name varchar(40) not null,age int (3) not null,score decimal(5,2) default '0',primary key (id));        
#创建一个名为ky30的表,(定义id不为空,名字不为空,年龄不为空,成绩可为空默认为“0”,主键为id)

create table scholl.ky31 (id int(10) not null); # 在任意库中创建school库中的ky31表

 

 2.2 删除数据库和表-drop

drop database kgc;    #删除一个名为kgc的数据库

drop table ky31     #删除一个ky31的表
drop table school.ky30    #可以再别的数据库中删除指定数据库中的表

 

 3、DML语句 :管理表中的数据记录

3.1 插入数据-insert

select * from ky30;     #查看ky30表中所有的数据
select * from \G;       #友好的显示

insert into ky30 (id,name,age,score) values(1,'zhangsan',18,88);   
#向ky30表中插入数据

insert into ky30 (id,name,age) values(2,'zhanger',18);
#向ky30表中指定字段插入,(可为空的字段,可以不添加值,为默认值)

insert into ky30 values(3,'lisi',20,67),(4,'zhaowu',22,90);
#批量添加表中更多数据(前面的字段不写为默认)

 

3.1.1 操作案例

题目:在nanjin库中创建yunjisuan这张表,要求字段为:id,name,age,score,address

要求:①id为主键,除了address之外其它字段均不可为空,address可以为空,且模式配置为“江宁区”。(类型、长度自行定义)

	  **②插入三条数据,zhangsan的id为1,年龄18,分数99,地址不知道;lisi的id为2,年龄为19,分数88,地址默认;wangwu的id为3,年龄17,分数为77,地址为雨花台。**
mysql> create database nanjin;   #创建库

mysql> create table nanjin.yunjisuan (id int(10) not null primary key,name varchar(20) not null,age int(3) not null,score decimal(5.2) not null,address varchar(30) default '江宁区');
#创建表(创建表的时候,需要定义表的字段结构)

insert into yunjisuan values(1,'zhangsan',18,99,'不知道'),(2,'lisi',19,88,''),(3,'wangwu',17,77,'雨花台');
#插入数据(可以进行匹配插入)

 

3.2 更新原有数据-update 

update 表名 set 字段1=字段值1,字段2=字段值10 where 表达式;

update ky30 set name='liubei',age=35 where name='zhanger';
#将字段name为zhanger的,name和age进行修改。

update ky30 set name='ydq',age=24 where id>2;
#将id大于2的记录进行修改。

 没有数据库和数据表的要先创建;

delete —— 删除

delete from ky30 where name='ydq';   #删除ky30表中name为ydq的记录
 
delete from ky30 where id>4;         #删除ky30表中id大于4的记录
 
delete from ky30;                    #删除ky30表中所有记录(谨慎操作)

DQL语句:查询数据记录 - select

select —— 查询

select * from ky30;           #查看整个表的所有记录
select id,name from ky30;     #查看整个表中的id,name字段
select id,name from ky30\G;   #友好查看整个表的id,name,
select id,name,score from ky30 where name='machao';    #查看name为machao的id,namescore
select id,name from ky30 where score>80;    #查看分数值大于80分的字段id,name ,
select * from ky30 limit 2;      #查看前二行
select * from ky30 limit 2,3;    #显示第2行后的3行。(不包括第2行)

DCL语句:数据控制语言 - alter

alter —— 修改

alter  table  ky30 rename  yyy;
alter  table  yyy  rename  ky30;

格式:alter table 表名 change 旧列名 新列名 数据类型 【unique key】;

unique key :唯一键(特性:唯一,但可以为空,空值只允许出现一次)

primary key:主键(特性:唯一且非空)

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

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

相关文章

2.4 opensbi: riscv: opensbi源码解析

4.6 sbi_hart_init()函数 sbi_hart_init(scratch, TRUE) 1.支持hypervisor扩展模式的话,设置trap的基地址为__sbi_expected_trap_hext 2.分配在扩展区域分配struct hart_features结构体 3.记录feature到struct hart_features结构体中 4.1.是否支持浮点数扩展 4.2.是否支持…

常用的GPT插件

0.简介 随着chatgpt爆火,这玩意并不对国内用户开放,如果想要使用的话还要需要进行翻墙以及国外手机号才能进行注册。 对于国内来说有很多国内免费的方法,这里就整理一下,方便大家开发 1. 网站类型 下面的网站无需注册即可免费…

ADRV9009子卡 设计原理图:FMCJ450-基于ADRV9009的双收双发射频FMC子卡 便携测试设备

FMCJ450-基于ADRV9009的双收双发射频FMC子卡 一、板卡概述 ADRV9009是一款高集成度射频(RF)、捷变收发器,提供双通道发射器和接收器、集成式频率合成器以及数字信号处理功能。北京太速科技,这款IC具备多样化的高性能和低功耗组合,FMC子…

数据通信——DHCP

DHCP还没写相关的笔记,但是我觉得大家应该都知道其用途——用来动态的分配IP地址的技术。 一,技术背景 在之前的背景下,公司越来越nb了,居然有几十个员工了,还分配了部门!领导说大家部门不一样&#xff0c…

Royal TSX 6 Mac多协议远程软件

Royal TSX是一款功能强大的远程桌面管理软件,适用于Mac操作系统。它允许用户通过一个集成的界面来管理和访问多个远程计算机和服务器。 Royal TSX支持多种远程协议,包括RDP、VNC、SSH、Telnet和FTP等,可以方便地连接到Windows、Linux、Mac和其…

永久免费的SSL证书哪里申请?

在如今互联网发展的时代,保障网站的安全性已经成为了一个必不可少的事项。其中,SSL(Secure Socket Layer)证书是确保数据传输安全的关键工具之一。然而,许多网站管理者面临一个问题,那就是如何申请一个永久…

快速入门:掌握Koa基础使用技巧

前言 本文主要是学习koa的使用。 基础学习 前置准备 初始化 pnpm init 安装相关包 pnpm install koa koa-router mysql2 新建数据库 USE notes_app;DROP TABLE IF EXISTS notes_categories;CREATE TABLE IF NOT EXISTS notes_categories (id INT AUTO_INCREMENT PRIM…

财务数据分析?奥威BI数据可视化工具很擅长

BI数据可视化工具通常是可以用户各行各业,用于不同主题的数据可视化分析,但面对财务数据分析这块难啃的骨头,能够好好地完成的,还真不多。接下来要介绍的这款BI数据可视化工具不仅拥有内存行列计算模型这样的智能财务指标计算功能…

25 | 不破不立:掌握代码级测试的基本理念与方法

代码级测试的测试方法一定是一套测试方法的集合,而不是一个测试方法。 代码错误,可以划分为“有特征”的错误和“无特征”的错误两大类。其中,“有特征”的错误,又可以进一步细分为语法特征错误、边界行为特征错误和经验特征错误&…

Web3.0时代什么时候到来,Web3.0有什么机会?

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师…

MySQL事物和存储引擎

事务 一、MySQL事务的概念 事务是一种机制、一个操作序列,包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么都执行,要么都不执行。 事务是一个不可分割的工作逻辑单…

基于Spring实现博客项目

访问地址:用户登录 代码获取:基于Spring实现博客项目: Spring项目写博客项目 一.项目开发 1.项目开发阶段 需求评审,需求分析项目设计(接口设计,DB设计等,比较大的需求,需要设计流程图,用例图,UML, model中的字段)开发+自测提测(提交测试…

iOS开发Swift-2-图片视图、App图标-赏月App

1.创建新项目 点击File - New - Project。 选择Single View App,点击Next。 填写文件信息,点击Next。 选择文件位置,点击Create。 修改App显示名称为 “赏月”。 2.设置背景色 选择Main,点击View界面,选择右边属性&…

7、监测数据采集物联网应用开发步骤(5.3)

监测数据采集物联网应用开发步骤(5.2) 静态配置库数据库调用,新建全局变量初始化类com.zxy.main.Init_Page.py #! python3 # -*- coding: utf-8 -Created on 2017年05月10日 author: zxyong 13738196011 from com.zxy.z_debug import z_debug from com.zxy.common…

ThreeJS 模型中内嵌文字

之前有过模型中内嵌html网页,地址☞threeJS 模型中加载html页面_threejs 加载dom元素_小菜花29的博客-CSDN博客 这次是纯粹的在模型中嵌入文本信息,进行简单的文字展示 展示效果图 1. 使用FontLoader文字加载器 引入文本json文件,代码如下…

会话技术之Cookie和Session

一、会话技术 1、概念 会话:一次会话包含多次请求和响应。一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止。 2、功能 用于在多次请求之间跟踪和管理用户状态,实现数据连续性、数据共…

掉了无数头发成地中海后,我整理出了这套40+的大屏模板,快收藏!

最近又有不少粉丝后台问我接不接做可视化大屏,看来可视化大屏是越来越火啦,但老李还是要说一下,老李本身工作就很忙,实在是顾不过来,但老李会在自己体验过后为大家挑选合适的工具和模板,提升大家做大屏的效…

『PyQt5-Qt Designer篇』| 07 Qt Designer中栅格布局和表单布局的使用

07 Qt Designer中栅格布局和表格布局的使用 1 栅格布局1.1 按钮布局1.2 栅格布局中拖入控件1.3 保存并调用2 表单布局2.1 标签+输入控件2.2 保存并调用3 组合水平和垂直布局1 栅格布局 1.1 按钮布局 拖入几个按钮,如图: 选中所有按钮,右键点击布局-栅格布局: 之后可以看到…

日志开源组件(六)Adaptive Sampling 自适应采样

业务背景 有时候日志的信息比较多,怎么样才可以让系统做到自适应采样呢? 拓展阅读 日志开源组件(一)java 注解结合 spring aop 实现自动输出日志 日志开源组件(二)java 注解结合 spring aop 实现日志tr…

navicat连接数据库的方法(易懂)

1.首页要先下载Navicat 官网下载即可 2.下载完点击进入 找到左上角的连接 3.点击选择MySQL... 4.点击进入开始连接数据库