当前位置: 首页 > 编程日记 > 正文

mysql 按日期删除数据库_DAY11 - MySQL入门(数据库的增、删、改、查 基本操作)...

一、 数据库的介绍

二、 MySQL的基本语法

l 注释:

单行注释: #注释内容

单行注释: -- 注释内容(注意,两个“--”之后有一个空格)

多行注释: /*注释内容*/

l 语句行:

一条语句也称为一条命令,通常用一个分号(;)结束;也可以通过"delimiter新结束符"命令来设定新的结束符。

语句的执行是以一条语句为单位进行,一次执行一条语句。

l 大小写:show databases;   SHOW DATABASES;

mysql中的各种系统关键字和命令名本身是不区分大小写的

mysql中自定义的名称(标识符)的大小写问题,有的区分(跟操作系统有关),有的不区分,详见如下“命名规则”;

Windows是不区分的。Linux是区分的。

l 命名(标识符)规则:

可以自己命名的名字,称为标识符,包括:数据库名, 表名,字段名,视图名,函数名,过程名,变量名,用户名,,等等。

可以命名标识符的字符比常规的语言多,但特别建议只用:字母数字和下划线,并不用数字开头。

非常规字符或系统关键字虽然可以作为标识符使用,但最好要包在反引号(数字1左边那个反撇`)中,并且不推荐。

对数据库名,表名,和视图名,在window系统中不区分大小写,而其他系统中区分,建议全使用小写,并采用下划线分割法。

对其他自己命名的标识符(字段名,函数名,过程名),不区分大小写,但也建议全使用小写,并采用下划线分割法

三、 库操作

SQL语句的分类

分四类

(1)ddl 语句(数据定义语句) create  alter

(2)dml语句(数据操作语句) update insert delete

(3)dql语句(数据查询语句) select

(4)dcl语句(数据控制语句) 在数据库事务和 mysql 用户管理的时候,grant  revoke  commit  rollback  savepoint 等

1.创建数据库

语句:CREATE DATABASE [IF NOT EXISTS] dbname 字符集;

库选项:字符集、校对集

CREATE DATABASEPHP07 charset utf8;CREATE DATABASE中国你好;CREATE DATABASE `DBNAME` charset utf8;

fcaf84679449d3de10a5aa787c69660e.png

b63e852cf17fe8597132e9be4a32bccb.png

utf8_general_ci  不区分大小写

show character set 查询字符集

show collation 排序和校对规则

2.查询所有数据库

语句:show databases;

29987be58f7ded8df798fcb5f45b2327.png

3.查询数据库创建语句

语句:show create database 数据库名;

7b1256335d72496da4fa81914cf37aad.png

4.查看当前 mysql 数据库的连接进程情况

show database processlist;

8129378addb244e2ca7301e544cb59aa.png

5.修改数据库

说明:不能修改数据库名称,只能修改字符集和校对集

语句:alter database 数据库名charset=新字符集collate=新的校对集

注意:字符集和校对集是可以分开修改的,但是建议必须一起修改

查看校对集:show collation;     查看字符集:show charset;

77ad71c3ca8e060daccdc5f5edf80fac.png

82183e8b11c3c2759652ef1ee8119d9f.png

5.删除数据库

语句:drop database 数据库名;

ca824f6784d11c480d2806009caae300.png

6.选择数据库

语句:use 数据库名;

7.数据库备份,恢复数据库

7.1基本语法:cmd>mysqldump  -u root -p 数据库>数据存放路径

>mysqldump -u root -p demodb > d:/demodb.bak;

7.2如何备份demodb数据库中的table1,table2表

>mysqldump -u root -p demodb table1 table2 > d:/demodb.bak;

7.3如何同时备份多个数据库

>mysqldump -u root -p -B demodb eblog > d:/demodb.bak;

四、 表操作

1.创建表

语句:

Create table 表名(

字段名称1 字段属性(类型) 字段选项,

字段名称2 字段类型 字段选项,

..........................

)表选项;

表选项:表字符集和数据引擎

字符集:charset=utf8;

数据引擎:默认innodb,语法:engine=引擎

什么是存储引擎?存储引擎也叫“表类型”,是指一个表中的数据以何种方式存放在文件或内存中。不同的存储引擎(表类型)提供不同的性能特性和可用功能。没有一种各方面都又具有最佳性能又具有各种功能的存储引擎。我们要做的是要根据数据的具体使用情形(需求)来选择合适的存储引擎,有的要读取速度快,有的要写入速度快,有的要具有高安全可靠性,有的要海量存储,等等。常用的存储引擎是innoDB(默认)和Myisam。

339e5282ea21856c318d2cb695e2fe25.png

字段:当前表中的数据的数据名称,自定义就可以了,但是使用单词。

字段类型:当前字段中存储数据类型必须是一开始指定好。

字段选项:设置当前字段的一些选项-是否可以为空,是否是主键,是否是唯一键,是否加备注等。

Null|not null:是否可以为空

Default:是否有默认值

Auto_increment:是否可以自动增长,必须是数字,如:需要给每条数据一个编号,原因是数据内容可以重复,编号不能重复。

Primary key:设置主键,数据内容不能重复,在查询数据主查询条件,一个表中一个主键,一般都是id。

unique [key]:设定为唯一(键),即表中所有行的的数据在该字段中的值不能有重复。

Comment:设置备注,给当前字段设置说明

284d74533ec78674aa608bed10888db3.png

l 字段类型:字符串、日期时间、数值

aead1a556b45f18870897cc9c9ed36d4.png

数值型:存储的数值大小不一样,默认是有符号的,无符号:unsigned

整数:tinyint、smallint、int

a850b1226425b492c392387826e2bd9e.png

b5570ebbadd24203b069bc6bc441efe5.png

3838a07f875c592dc411a80a0144f172.png

小数:float、decimal

float,范围大约是-3.4E+38到-1.1E-38、0和1.1E-38到3.4E+38

Decimal:定点型

Decimal(10,2):长度10位,其中小数2位。55555555.00,价格。

bb6442a6715ef08e77b6b145060d4e05.png

字符串:

Char:最大255    Varchar:65532   Text:无限制

Char和varchar的区别:定长型和变长型

Char:定长型,固定的长度,如:char(30),最大存储30的长度,如果没有写如30长度的数据,其他位置用空格补齐。

Varchar:变长型,可以变化长度,如:varchar(30),最大存储30的长度,如果没有写入30的长度,写入多占多少位置。

f2df2080604bb044c2a66e625004d609.png

日期时间:

date类型: 支持的范围为'1000-01-01'到'9999-12-31'

datetime类型:支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'

09d9ac3fcfd185ff7265aad315047213.png

2.删除表

语句:drop table 表名;

1be0c2960b124768384747f1b4792b4e.png

3.查看表

查看所有表:show tables;

797f527d4fdcc50e3375a7386e41fe28.png

查看表结构:desc 表名;

5c35fe9b6212d60a52661e2c7bd98fff.png

查看创建表语句:show create table 表名;

cf59c0552f379967f4379e75731e2d4e.png

4.修改表

修改表名:alter table 旧表名rename [to]新表名;

ced41b6e3fb3a019c2627b02c2a704b4.png

添加新字段:alter table 表名add新字段 字段类型 字段选项;

a47c749858003f760581ef528f1f2e89.png

修改表字段(包括字段名):

Alter table 表名change旧字段名 新字段名 新字段类型 新字段选项;

93ef9d2646750e7e0af2eff097ef9042.png

修改字段类型和选项:

Alter table 表名modify字段名 新字段类型 新字段选项;

54e200bfaf1774930385ef49cb9f7dc3.png

删除字段:alter table 表名drop字段名;

5b1832c74ae729a89d9b3aa12ecc7fdd.png

数据库设计原则——也称为数据库设计三范式(3NF):

第一范式(1NF):原子性,数据不可再分:一个表中的数据(字段值)不可再分。我们来看一个不良做法:范式1,再来看修正后的做法:范式1

第二范式(2NF):唯一性,消除部分依赖:一个表中的每一行必须唯一可区分,且非主键字段值完全依赖主键字段值。也可说,必须消除在一个表中的的非主键字段值仅仅依赖于部分主键值的情形。显然这个要求只对有联合主键的表才有可能违反情况的,而对单字段主键的表是不会出现的。不良做法:范式2,修正之后:范式2

第三范式(3NF):独立性,消除传递依赖:使一个表中的任何一个非主键,完全独立地依赖于主键,而不能又依赖于另外的非主键。如果一个表中的一个非主键字段(B)依赖于另一个非主键字段(A),因为A作为非主键字段,自然是依赖于主键字段的(范式2所决定),则此时就会出现传递依赖:(主键)->(A)->(B)。第三范式就是要消除(或避免)这种依赖。通常的实际做法中,我们只要注意做到“一个表存储一种数据”就可以符合第三范式。不良做法:范式3,修正之后:范式3

五、 数据的操作

1.插入数据

语句:insert into 表名 【(字段1,字段2,字段3,.....)】values(值1,值2,值3,......);

f892ec179d0544b265e4a242702e8439.png

一次性插入多行数据

Insert into 表名[(字段列表)] values (第一条数据),(第二条数据),......;

8e9c7a24b44c094a7a3a344b698aeb3a.png

字段列表可以省略:省略后的数据必须对应上创建时字段顺序,-php必须是这样

c1201dda74ebdb1191f545fa75cc2f2b.png

字段列表可以选择性的写:写几个后面的数据必须是一一对应。

3f3edf1182aab68ca64271d28f1736d7.png

2.删除数据

语句:delete from 表名where条件[order排序] [limit限定];

Where条件必须添加,否则删除所有数据,建议id,原因id唯一性

删除大范围的数据。

Order:当前表倒序还是正序,不用添加,默认就可以了

Limit:限定范围,不同添加。

25b8050981c081fec32fcefa765a84bc.png

9355accc51a800f0d6452bbdc86b56d5.png

普通删除后保留删除的id号,不再让数据占用。

truncate语句:truncate [table]表名;用于直接删除整个表(结构)并重新创建该表。

85e2680985e93f53bf6d0e953a411706.png

3.修改数据

语句:update 表名set字段名1=值表达式1,字段名2=值表达式2,....where条件 ;

5ccbb4363e3c46e42f03aae5a8437617.png

4.查询数据

查询数据只有两种结果:真(有数据)或假(没有数据)

语句:select 字段列表[from子句]表名[where子句] [group by子句] [having子句] [order by子句] [limit子句];

基础查询--查询所有数据及字段

Select * from 表名;

*:所有字段名称。

21a74d7ad4126c07d164f5a3c66d20fe.png

基础查询-查询某些字段

Select name,age,sex,........ from 表名;

54ea6b08d83b43279f1d16ec3f4ff605.png

基础查询--别名--小名

如:查询数据的数据量,用count函数

字段名 as 别名

fd52a6cc2eccb3807289661ddbd5f036.png

From字句:表示从哪个(或哪些)表中取得数据。

d354bb116c452062fcb182cf4a64dad5.png

Where字句:给条件的查询

算数运算符:+ - * / %

e89653a55b4ffca5e668cd589adaa7ca.png

比较运算符:> < >= <= = !=

87673a79e39008ffbebf44919aef2461.png

逻辑运算符:与(and)或(or)非(not)

含义和用法同其他编程语言(只是不用那几个符号,而是用单词)。

fc6ef9bc193df7acb0227bab6cc0d0bb.png

466eb78853dde0666ac78e68f46f9186.png

1afdd3cff452469c83bd813924224f2a.png

In :单独查询某些数据

字段名 in(值1,值2,...)

3965219cfafdd191a69612f4268a9e47.png

between语法:字段名 between 小值 and 大值(表示该字段的值在给定的两个值之间,含该俩值)

1e2f23f6a9104ace89c53538e346ad8b.png

Like:模糊查询

字段名 like ‘要查询的字符’;     如果是直接写字符,配置查询字符必须一致。

字段名 like ‘%要查询的字符%’;   %是匹配任何字符

d16d645ff293107e780ad5e541587e74.png

相关文章:

LeetCode之461. Hamming Distance

------------------------------------------------------------------ AC代码&#xff1a; public class Solution {public int hammingDistance(int x, int y) {return Integer.toString(x^y,2).replaceAll("0","").length();} } 题目来源&#xff1a; h…

机器学习模型 知乎_机器学习:模型评估之评估方法

​机器学习已经成为了人工智能的核心研究领域之一&#xff0c;它的研究动机就是为了让计算机系统具有人的学习能力以便实现人工智能。目前&#xff0c;关于机器学习定义的说法比较多&#xff0c;而被广泛采用的定义是“利用经验来改善计算机系统自身的性能”​。由于“经验”的…

NSDate NSCalendar NSString之间的故事以及转换

1.NSDate 和 NSString 之间的转换 这之间的转换主要依靠NSDateFormatterNSDate <------> NSStringNSDateFormatter *formatter [[NSDateFormatter alloc]init];formatter.dateFormat "yyyy-MM-dd HH:mm:ss";NSString *strDate [formatter stringFrom:date];…

bzoj 4695: 最假女选手

……一道丧病线段树膜板题…… 被常数卡的死去活来……QAQ 学到了些奇技淫巧&#xff1a;把取min标记 和 区间最小值 合并 可以快很多…… #include <bits/stdc.h> #define lc(t) ((t) << 1) #define rc(t) (((t) << 1) | 1) #define N 2000010 #define INF …

python 打包 .app 运行 控制台窗口_Python打包工具

1 Python打包工具目前在windows平台上将Python程序打包成exe文件主要有三个工具。今天将一个Tkinter写的界面程序打包成exe文件&#xff0c;三个工具都试了一遍&#xff0c;感觉PyInstaller会比较好用一些。2 py2exe2.1 下载安装2.2 启动脚本写一个setup_py2exe.py文件from dis…

地址池命令 思科理由_思科互联网络操作系统 ——路由器接口

点击蓝字关注我们路由器接口接口配置是最重要的路由器配置之一&#xff0c;因为若没有接口,路由器几乎就毫无用处。另外&#xff0c;要与其他设备通信&#xff0c;接口配置必须绝对精确。配置接口时&#xff0c;我们需要指定网络层地址、介质类型和带宽,还需使用其他管理命令。…

mysql数据去重语句_数据库 mysql 语句

LAMP: Linux系统 A阿帕奇服务器 Mysql数据库 Php语言mysql:常用代码create table CeShi1(Uid varchar(50) primary key,Pwd varchar(50),Name varchar(50),Nation varchar(50),foreign key(Nation) references Nation(Code))写查询语句需要注意&#xff1a;1.创建表的时候&…

mysql中utf8_bin、utf8_general_ci、utf8_general_cs编码区别

转载地址: https://www.cnblogs.com/exmyth/p/3616672.html在mysql中存在着各种utf8编码格式&#xff0c;如下表&#xff1a;1&#xff09;utf8_bin2&#xff09;utf8_general_ci3&#xff09;utf8_general_csutf8_bin将字符串中的每一个字符用二进制数据存储&#xff0c;区分大…

利用闭包实现多次ajax请求只执行最后一次

点一个按钮&#xff0c;则向服务器请求资源&#xff0c;不作处理时&#xff0c;多次点击后会有很多个请求在等待。我们知道一般我们用ajax是异步请求&#xff0c;那么我们快速重复点击一个按钮得到的结果其实我们并不知道是哪次点击的结果可能是第一次可能是最后一次也可能是第…

3dmax批量导出fbx_推荐一款超实用的3DMAX插件——模法师

模法师集成于3DMAX上&#xff0c;到老子云平台下载插件后&#xff0c;直接双击运行安装就能使用了。有多好用呢&#xff1f;好比游戏开了挂&#xff0c;效率瞬间翻几番。主要提供三大功能&#xff1a;1、批量格式转换简单地说&#xff0c;你可以把大量模型文件&#xff0c;同时…

python实现平衡二叉树_LeetCode 110. 平衡二叉树 | Python

# 110. 平衡二叉树---题目来源&#xff1a;力扣(LeetCode)[https://leetcode-cn.com/problems/balanced-binary-tree](https://leetcode-cn.com/problems/balanced-binary-tree)## 题目---给定一个二叉树&#xff0c;判断它是否是高度平衡的二叉树。本题中&#xff0c;一棵高度…

「欧拉定理」学习笔记(费马小定理)

欧拉定理&#xff1a;对于互质的两个正整数$a, n$&#xff0c;满足$a^{φ(n)} ≡ 1\ (mod\ n)$ 证明&#xff1a; 设集合$S$包含所有$n$以内与$n$互质的数&#xff0c;共有$φ(n)$个&#xff1a;$$S \{ x_1, x_2, ..., x_{φ(n)} \} $$ 再设集合$T$&#xff1a;$$T \{ a * x…

Python将MySQL表数据写入excel

背景&#xff1a;将mysql表查询结果写入excel。 1.使用sqlyog工具将查询结果导出到Excel.xml中&#xff0c;用excel打开发现&#xff1a;因为text字段中有回车换行操作&#xff0c;显示结果行是乱的。 2.用mysql -uadmin -p -h -P -NBe"select * from tb;" >>a…

nacos动态配置数据源_Jasper 怎么配置动态数据源

Jasper 本身是不支持动态数据源的&#xff0c;能用的解决方式是通过 api 自定义数据源&#xff0c;实际操作就是根据条件判断后动态设定 jdbc 的 url、用户名及密码等连接属性。比如&#xff1a;String userName userDetails.getUsername();// obtain a connection based on t…

Linux命令之top

top –hv | -abcHimMsS –d delay –n iterations –p pid [, pid …] top程序提供运行系统的动态实时视图&#xff0c;它可以显示系统概要信息以及当前由Linux内核当前管理的任务列表。所示的系统概要信息的类型以及为任务显示的信息的类型、顺序和大小都是用户可配置的&#…

seal report mysql_Seal Report开放数据库报表工具(.Net)

概述&#xff1a;开放数据库报表工具(.Net)简介&#xff1a;Seal-Report提供了一个完整的框架&#xff0c;用于从任何数据库生成日常报告和仪表板。Seal-Report是Microsoft .NET Framework完全用C&#xff03;编写的开源工具。Seal Report算是报表工具中比较好用的一个&#xf…

注册亚马逊云服务

要英文填写还要字符限制&#xff0c;好严格 转载于:https://www.cnblogs.com/ZHONGZHENHUA/p/6249805.html

行波iq调制器_高速InP基半导体电光调制器行波电极结构研究

【1】Winzer P J, Essiambre R J. Advanced modulation formats for high-capacity optical transport networks[J].Lightwave Technol., 2006, 24(12):4711-4728.【2】Dagli N.High-speed photonics device[M]. Taylor & Francis, 2007.【3】Zhang L,Sinsky J, Thourhout …

PIXI 下落文字消除(3)

图片示例&#xff0c;简陋的图&#xff0c;记录下落过程&#xff0c; 1、创建应用实例并添加到DOM元素上。 &#xff08;会看到一个黑色画布&#xff0c;没有任何元素&#xff0c;接下来会在画布上创建文字&#xff09; 2、创建 TextStyle 用来设置要显示字体样式 3、随机产生…

python魔术方法call_php魔术方法__call

__call是魔术方法中的一个&#xff0c;当程序调用到当前类中未声明或没权限调用的方法时&#xff0c;就会调用__call方法class test{public function emptyFunc(){$getArgs func_get_args();$funcName $getArgs[0];//$params array_slice($getArgs, 1);//var_dump($params);…

app启动时间命令

app启动&#xff1a; 冷启动和热启动 冷启动方式&#xff1a; adb shell am start -W -n package/activity 停止app命令&#xff1a; adb shell am force-stop package 热启动命令和冷启动命令一样 停止命令&#xff1a; adb shell input keyevent 3 查看package/activity命令&…

华为手机媒体音量自动静音_华为手机的音量键还可以这么用,涨见识!

身边很多朋友都是用的是华为手机&#xff0c;我就纳闷了&#xff0c;华为手机真的有那么好用吗&#xff1f;听朋友跟我细细说了一番&#xff0c;我被说动了&#xff0c;准备也去换一个华为手机&#xff0c;就冲它的音量键有那多妙用&#xff0c;我也不能错过一款华为手机&#…

Mui.ajax请求服务器正确返回json数据格式

ajax&#xff1a; mui.ajax(http://server-name/login.php,{data:{username:username,password:password},dataType:json,//服务器返回json格式数据type:post,//HTTP请求类型timeout:10000,//超时时间设置为10秒&#xff1b;success:function(data){//服务器返回响应&#xff0…

day1作业(格式化输出)

练习&#xff1a;用户输入姓名、年龄、工作、爱好 &#xff0c;然后打印成以下格式------------ info of Egon -----------Name : EgonAge : 22Sex : maleJob : Teacher ------------- end -----------------完成情况&#xff1a;in_nameinput(请输入您的姓名&#xff1…

rust 官服指令_RUST 命令大全(包括服务器指令)

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼RUST MOD(以下在聊天框内输入)基本命令/share playername 【shares your doors with a player(共享你的门给一个玩家)】/unshare playername 【unshares your doors with a player(解除对一个玩家的门共享)】/help 【Shows command…

postgresql存图片字段类型_PostgreSQL 入门 | Linux 中国

安装、设置、创建和开始使用 PostgreSQL 数据库。-- Greg Pittman每个人或许都有需要在数据库中保存的东西。即使你执着于使用纸质文件或电子文件&#xff0c;它们也会变得很麻烦。纸质文档可能会丢失或混乱&#xff0c;你需要访问的电子信息可能会隐藏在段落和页面的深处。在我…

关于ES6中Promise的应用-顺序合并Promise,并将返回结果以数组的形式输出

1.Promise 基础知识梳理 创建一个Promise实例 const promise new Promise(function(resolve, reject) {if (success){resolve(value);} else {reject(error);} }); Promise构造函数接受一个函数作为参数&#xff0c;该函数的两个参数分别是resolve和reject。它们是两个函数&am…

Java计算两个字符串日期之间的天数差

Java计算两个字符串日期之间的天数差 调用方法&#xff1a; public static void main(String[] args) throws ParseException {String a "2017-12-01"; // 时间字符串String b "2017-12-31";Long between_dayInteger between_days(a, b);System.out.pri…

java file_Java IO: File

原文链接 作者: Jakob Jenkov 译者: 李璟(jlee381344197gmail.com)Java IO API中的FIle类可以让你访问底层文件系统&#xff0c;通过File类&#xff0c;你可以做到以下几点&#xff1a;检测文件是否存在读取文件长度重命名或移动文件删除文件检测某个路径是文件还是目录读取目录…

数学建模优化模型简单例题_数学建模之优化模型:存储模型

点击上方「蓝字」关注我们最近&#xff0c;为申报市级精品课程&#xff0c;我为我校“数学建模与科学计算”课程录制了讲课视频&#xff0c;下面是3.1节优化模型的第一个例子&#xff1a;存储模型。敬请大家批评指正&#xff01;优化模型是数学建模里比较简单、但也非常常用的建…