目录

引言:

一、数据库日志

二、数据库管理

2.1进入数据库

2.2退出数据库

2.3查看数据库信息

2.4 查看数据库中包含的表信息

2.5查看数据表的结构(字段)

2.6 常用的数据类型

2.7char和varchar的区别

2.8 varchar和text的区别

2.9数据文件

三、SQL语句

3.1SQL语言的分类

3.1.1DDL用于创建数据库对象,如库、表、索引

3.1.2创建新的表

3.1.3 删除指定数据表

3.1.4 删除指定的数据库

3.2 管理表中的数据记录

3.2.1 向数据表中插入新的数据记录 insert

3.2.2 查询数据记录

3.2.3 修改、更新数据表中的数据记录 update

3.2.4 在数据表中删除指定的数据记录 delete

3.3 修改表名和表结构

3.3.1 修改表名 alter

3.3.2 扩展表结构(增加字段)

3.3.3 修改字段(列)名,添加唯一键

​编辑 3.3.4 删除字段

3.4 使用 if 判断 创建表并测试自增和填充

四、数据表高级操作

4.1克隆表——将数据表的数据记录生成到新的表中

法一:先创建再导入

法二:创建的时候同时导入

4.2 清空表——删除表内的所有数据

4.2.1 deldte删除

4.2.2truncate删除

4.2.3drop、truncate、delete对比

drop table 表名

truncate table 表名

delete from 表名

小结

4.2.3创建临时表

五、总结


引言:

MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 应用软件之一。在本篇中,会让大家快速掌握 MySQL 的基本操作,并轻松使用 MySQL 数据库。

一、数据库日志

数据库日志文件用于备份,恢复,故障定位、分析是最核心的部分。

mysql与oracle 日志有所区别

  • mysql写一条数据,同步到日志中一条
  • Ps:insert into ky11 (id, name, score) values (1,'zhangsan ',20);

oracle :重做日志组

  • 一个组中至少3个日志成员,轮流存储日志
  • 还会有另一个组与之同步/备份

二、数据库管理

2.1进入数据库

mysql -u root -p123456  #-u指定用户 -p指定密码
或者mysql -u root -p

2.2退出数据库

exit #退出

2.3查看数据库信息

#大小写不区分,分号“;”表示结束
SHOW DATABASES;

2.4 查看数据库中包含的表信息

方法一
USE 数据库名;
SHOW TABLES;#示例1
use mysql
show tables;方法二
show tables in mysql;

方法一 

方法二 

2.5查看数据表的结构(字段)

use 库名   #进入某个数据库
desc 表名;  #查看表内内容
或 desc 表名\G  #可以不用加分号;查看其结构desc 全拼describe

用相对路径查看

方法一 

 方法二

 用绝对路径查看

 数据表结构

参数 说明
Field 字段名称
Type 数据类型
Null 是否允许为空
Key 主键
Default 默认值
Extra 扩展属性
id

2.6 常用的数据类型

参数 说明
int 整型(定义整数类型数据)
float 单精度浮点,4字节32位,准确到小数点后六位
double 双精度浮点,8字节64位
char 固定长度的字符类型,定义字符类数据
varchar 可变长度的字符类型
text 文本
image 图片
decimal(5,2)

5个有效长度数字,小数点后面有2位,指定长度数组

当输入的数值后的小数位小于两位时,会拿0补全两位;当超过两位时,小数点后第三位是自动进行的四舍五入进第二位

  • 注:char如果存入数据的实际长度比指定长度要小,会补空格至指定长度,如果存入的数据的实际长度大于指定长度,低版本会被截取,高版本会报错
  • 主键是唯一的,但主键可以由多个字段构成

2.7char和varchar的区别

  1. char(n)若存入字符数小于n,则以空格补于其后,查询之时再将空格去掉。所以char类型存储的字符串末尾不能有空格,varchar不限于此。
  2. char(n)固定长度,char(4)不管是存入几个字符,都将占用4个字节,varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),所以varchar(4),存入3个字符将占用4个字节。
  3. char类型的字符串检索速度要比varchar类型的快。

2.8 varchar和text的区别

  1. varchar可指定n, text不能指定,内部存储varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),text是实际字符数+2个字节。
  2. text类型不能有默认值。
  3. varchar可直接创建索引,text创建索引要指定前多少个字符。varchar查询速度快于text,在都创建索引的情况下,text的索引似乎不起作用。

2.9数据文件

  1. MySQL数据库的数据文件存放在/usr/local/mysq1/data目录下,每个数据库对应一个子目录,用于存储数据表文件。每个数据表对应为三个文件,扩展名分别为“. frm"、" .MYD"和“.MYI"。
  2. MYD"文件是MyISAM存储引擎专用,存放MyISAM表的数据。每一个MyISAM表都会有一个“.MYD”文件与之对应,同样存放于所属数据库的文件夹下,和“.frm" 文件在一起。
  3. ”.MYI"文件也是专属于MyISAM 存储引擎的,主要存放MyISAM表的索引相关信息。对于MyISAM存储来说,可以被cache的内容主要就是来源于“.MYI"文件中。每一个MyISAM表对应一个“.MYI"文件,存放于位置和“. frm"以及“.MYD”一样。
  4. MyISAM存储引擎的表在数据库中,每一个表都被存放为三个以表名命名的物理文件( frm, myd,myi)。每个表都有且仅有这样三个文件做为MyISAM存储类型的表的存储,也就是说不管这个表有多少个索引,都是存放在同一个.MYI文件中。
  5. 另外还有“. ibd"和ibdata 文件,这两种文件都是用来存放Innodb数据的,之所以有两种文件来存放Innodb的数据(包括索引),是因为Innodb的数据存储方式能够通过配置来决定是使用共享表空间存放存储数据,还是独享表空间存放存储数据。独享表空间存储方式使用“. ibd"文件来存放数据,且每个表一个“.ibd"文件,文件存放在和MyISAM数据相同的位置。如果选用共享存储表空间来存放数据,则会使用ibdata文件来存放,所有表共同使用一个(或者多个,可自行配置) ibdata 文件。

三、SQL语句

SQL语句用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能。

3.1SQL语言的分类

  1. DDL:数据定义语言,用于创建数据库对象,如库、表、索引等
  2. DML:数据操纵语言,用于对表中的数据进行管理,用来插入、删除和修改数据库中的数据
  3. DQL:数据查询语言,用于从数据表中查找符合条件的数据记录
  4. DCL:数据控制语言,用于设置或者更改数据库用户或角色权限(数据控制语句,用于控制不通数据段直接的许可和访问级别的语句,这些语句定义了数据库、表、字段、用户的访问权限和安全级别,如COMMIT、ROLLBACK、 GRANT、 REVOKE )

3.1.1DDL用于创建数据库对象,如库、表、索引

CREATE DATABASE 数据库名; #示例:创建一个名为ZEK的数据库creat database ZEK;

3.1.2创建新的表

use 库名;  #使用仓库
CREATE TABLE 表名 (字段1 数据类型,字段2 数据类型[,...][,PRIMARY KEY (主键名)]);
#主键一般选择能代表唯一性的字段不允许取空值(NULL),一个表只能有一个主键。

#示例:
use ZEK;
create table pili(id int(4) not null,name char(10),诗号 char(30),primary key(id))
desc info;

3.1.3 删除指定数据表


------方法一:进入表所在的数据库-------
use 数据库名;
drop table 表名;
或
drop table [数据库名.]表名;------方法二:使用相对路径,不进入表所在的数据库------
DROP TABLE kiro.ky20;
show tables in kiro;

 方法一

方法二

3.1.4 删除指定的数据库

DROP DATABASE 数据库名;

3.2 管理表中的数据记录

3.2.1 向数据表中插入新的数据记录 insert

#向数据表中插入新的数据记录
insert into 表名(字段1,字段2,字段3) values(字段1的值,字段2的值,字段3的值);#示例1
insert into pili (id,name,诗号)values(1,'琦罗生','百代繁花一朝都,谁非过客;千秋明月吹角寒,花是主人');
select * from pili;#示例2:直接使用表明加入字段
insert into pili values(2,'最光阴','蹉跎错,消磨过,最是光阴化浮沫。');#示例3:可以指定字段添加
insert into pili (id,诗号) values(3,'古岂无人,孤标凌云谁与朋。高冢笑卧,春秋一阕任琦行。'); 

方法一

方法二

方法三

3.2.2 查询数据记录

#格式
SELECT 字段名1,字段名2[,...] FROM 表名 [WHERE 条件表达式];#示例1:查看所有数据
select * from pili;#示例2:查询指定数据select 诗号 from pili where id=1;#示例3:以列表方式竖向显示
select * from pili \G;#示例4:只显示头2行
select * from pili limit 2;#示例5:显示第2行后的前2行

#示例1:查看所有数据
select * from pili;

#示例2:查询指定数据
 select 诗号 from pili where id=1;
 
#示例3:以列表方式竖向显示
select * from pili \G;
 
#示例4:只显示头2行
select * from pili limit 2;
 
#示例5:显示第1行后的前2行

select * from pili limit 1,2;

3.2.3 修改、更新数据表中的数据记录 update


#格式
UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2] [WHERE 条件表达式];#示例1:修改年龄和爱好
update pili set name='朝天娇',诗号='胜负由吾不由天,谈笑戎马惯狼烟。争,天地有数;战,败吾不存。' where id=3;

3.2.4 在数据表中删除指定的数据记录 delete

#格式:
DELETE FROM 表名 [WHERE 条件表达式];#示例:删除表中id为4的数据
delete from pili where id=2;

3.3 修改表名和表结构

3.3.1 修改表名 alter

修改表名
格式:
alter table 旧表名 rename 新表名;

3.3.2 扩展表结构(增加字段)

#default 'default值':表示此字段设置默认值 地址未填写!;可与 NOT NULL 配合使用
ALTER TABLE 表名 ADD address varchar(50) default 'default值';#示例
alter table jianghu add address varchar(20) default'苦境';

 

3.3.3 修改字段(列)名,添加唯一键

每个表中只能由一个主键 ,但是许多内容都需要唯一性,这就是唯一键的作用

#格式
ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型 [unique key];unique key:唯一键(特性:唯一,但可以为空,空值只允许出现一次)
key:唯一且非空(主键一般选择能代表唯一性的字段不允许取空值(NUL),一个表只能有一个主键。)#示例:
alter table jianghu change name user_name varchar(10) unique key;

 3.3.4 删除字段

#格式
ALTER TABLE 表名 drop 字段名;
#示例
alter table base drop age;

3.4 使用 if 判断 创建表并测试自增和填充

use hobby;create table if not exists ZEK (id int(4) zerofill primary key auto_increment,name varchar(10) not nuull unique key,诗号 varchar(30));

  1. if not exists: 表示检测要创建的表是否已存在,如果不存在就继续创建
  2. int(4) zerofill: 表示若数值不满4位数,则前面用“0”填充,例0001
  3. auto_increment: 表示此字段为自增长字段,即每条记录自动递增1,默认从1开始递增;自增长字段数据不可以重复;自增长字段必须是主键;如添加的记录数据没有指定此字段的值且添加失败也会自动递增一次
  4. unique key: 表示此字段唯一键约束,此字段数据不可以重复;一张表中只能有一个主键, 但是一张表中可以有多个唯一键
  5. not null: 表示此字段不允许为NULL

 

四、数据表高级操作

4.1克隆表——将数据表的数据记录生成到新的表中

法一:先创建再导入

#通过 LIKE 方法,复制 info 表结构生成 test01 表
create table ZYW like jianghu;
#导入数据
insert into ZYW select * from jianghu;

法二:创建的时候同时导入

create table QLS (select * from jianghu);

#获取数据表的表结构、索引等信息
show create table ZYW\G;

4.2 清空表——删除表内的所有数据

4.2.1 deldte删除

DELETE清空表后,返回的结果内有删除的记录条目;DELETE工作时是一行一行的删除记录数据的;如果表中有自增长字段,使用DELETE FROM 删除所有记录后,再次新添加的记录会从原来最大的记录 ID 后面继续自增写入记录。

#delete from 表名;
delete from ZEK;

4.2.2truncate删除

TRUNCATE 清空表后,没有返回被删除的条目;TRUNCATE 工作时是将表结构按原样重新建立,因此在速度上 TRUNCATE 会比 DELETE 清空表快;使用 TRUNCATE TABLE 清空表内数据后,ID 会从 1 开始重新记录

truncate table ZEK;

4.2.3drop、truncate、delete对比

drop table 表名

  • 属于DDL
  • 不可回滚(无法恢复)
  • 不可带where
  • 表内容和结构删除
  • 删除速度快

truncate table 表名

  • 属于DDL
  • 不可回滚
  • 不可带where
  • 表内容删除
  • 删除速度快

delete from 表名

  • 属于DML
  • 可回滚(可恢复)
  • 可带where
  • 表结构在,表内容要看where执行的情况
  • 删除速度慢,需要逐行删除

小结

  • 不再需要一张表的时候用drop
  • 想删除部分数据行的时候用delete,并且带上where子句
  • 保留表而删除所有数据的时候用truncate
  • 删除速度:drop>truncate> delete
  • 安全性 delete 最好

4.2.3创建临时表

临时表创建成功之后,使用SHOW TABLES命令是看不到创建的临时表的,临时表会在连接退出后被销毁。 如果在退出连接之前,也可以可执行增删改查等操作,比如使用 DROP TABLE 语句手动直接删除临时表。

##添加临时表test03
create temporary table test03 (
id int(4) zerofill primary key auto_increment,
name varchar(10) not null,
cardid int(18) not null unique key,
hobby varchar(50));## 查看当前库中所有表
show tables;
##在临时表中添加数据
insert into test03 values(1,'zhangsan',123456789,'watch a film');
##查看当前表中所有数据
select * from test03;
##退出数据库
quit                        ##重新登录后进行查看
mysql -u root -p
##查看之前创建的临时表中所有数据,发现已经被自动销毁
select * from test03;

五、总结

数据库这一块的操作,小伙伴们一定要细心一点,尤其是在工作的时候。

MySQL数据库的基本管理操作相关推荐

  1. phpstud如何安装mysql新版_MySQL_图解MySQL数据库的安装和操作,一、MySQL下载与安装 1、 - phpStudy...

    图解MySQL数据库的安装和操作 一.MySQL下载与安装 1.下载介绍 MySQL相信大家一定听说过,如果不知道它是干什么的,可以去google一下. MySQL的大本营:http://www.my ...

  2. 详解:MySQL数据库的权限管理和运维实操

    详解:MySQL数据库的权限管理 一.MYSQL权限简介 关于mysql的权限简单的理解就是mysql允许你做你权利以内的事情,不可以越界.比如只允许你执行select操作,那么你就不能执行updat ...

  3. MySQL数据库web客户端管理工具软件

    TreeSoft数据库管理软件使用JAVA开发,采用稳定通用的springMVC+JDBC架构,实现基于web方式对 MySQL,Oracle,PostgreSQL, DB2 ,Cache ,达梦DM ...

  4. Mysql数据库root密码管理四法

    Mysql数据库root密码管理四法 方法一: 管理员可以在系统命令行中使用mysqladmin命令设置mysql用户的密码. 使用mysqladmin设置密码的命令语法如下: mysqladmin ...

  5. 从零开始学 MySQL —数据库和数据表操作

    ​前言 今天我们学习下核心的内容,学习并实践如何对数据库表和表中的内容做修改,删除,重命名等操作.(想看看周末还有多少爱学习的小伙伴,你们在哪里呀,O(∩_∩)O哈哈~) 1.目录 数据库操作:删除数 ...

  6. MySQL数据库配置及高级操作

    MySQL数据库配置及高级操作 1 环境配置 1.1 MySQL安装与卸载 1.2 SQLyog安装 1.3 SQL简介 2 基本操作 2.1 DDL*(Data Definition Languag ...

  7. Linux全攻略--MySQL数据库配置与管理

    MySQL是一种精巧的,多用户和多线程的中小型SQL数据库系统,由一个服务器守护进程mysqld和很多不同的客户程序和库组成.现在形成了一个"Linux+Apache+PHP+MySQL&q ...

  8. MySQL数据库的账户管理

    账户管理 在生产环境下操作数据库时,绝对不可以使用root账户连接,而是创建特定的账户,授予这个账户特定的操作权限,然后连接进行操作,主要的操作就是数据的crud MySQL账户体系:根据账户所具有的 ...

  9. MySQL——数据库的增删改操作

    数据库的增删改操作 数据库的增操作 数据库的增操作主要涉及数据库的增加.数据表的增加.表记录增加以及表字段增加等.数据库的增加非常简单,就是新创建一个数据库:表记录的增加指的就是新增表的数据行,可以是 ...

最新文章

  1. 取代INT 80 的sysenter/sy***it
  2. 关于 TCP 并发连接的几个思考题与试验
  3. xm文件怎样转换成mp3_酷狗音乐如何将歌曲转换成MP3格式?方法超级简单
  4. 语言结构体在内存的分布_结构体内存对齐,这篇文章给你彻底搞会!(干货收藏)...
  5. jsonobject转list集合_怎样优雅的操作集合,CollectionUtils工具类正确使用姿势
  6. Tyvj P1463 智商问题 分块
  7. JavaScript 中的异步:Event Loop 及其他
  8. MTK平台camera驱动架构分析
  9. CSS 常见的8种选择器 和 文本溢出问题
  10. MySQLl优化【附带优化视频教程全套】
  11. Java获取时间戳,System.currentTimeMillis() 和 System.nanoTime() 哪个更快?
  12. 带经纬度的水印相机_水印今日相机安卓版下载-水印相机拍照时间地点app下载v2.8.8.14-西西软件下载...
  13. 高中数学知识点总结:函数零点经典例题解题技巧与方法总结
  14. ip地址冲突该如何解决?
  15. 对于微信二维码相关官方文档的一些注解(微信登录和绑定微信、关注公众号)
  16. Jmeter的Html报告汉化及解析
  17. java:javap查看class文件的JDK版本塈JDK版本与major version(45~55)的对照表
  18. vnc桌面手机版,推荐5款好用的vnc桌面手机版软件
  19. vue-baidu-api地图标记点(自定义标记图标),设置标记点的优先级
  20. 学校计算机课用的ppt软件是什么,大学计算机课程课件.ppt

热门文章

  1. SpringBoot(六)打包方式
  2. 数组 reduce 简介及使用场景
  3. 区块链技术应用场景之政务链
  4. 【转】Latex编译报错后中断编译并改正,然后重复出现不明原因报错的解决方法...
  5. 道德与企业成败 【如何搞垮一个企业.序】
  6. PVE系列教程(十三)、安装黑苹果MacOS(Catalina版本)
  7. C# WaitAll 等待所有线程执行完毕
  8. 古墓丽影10linux,《古墓丽影:崛起》Linux版上架Steam
  9. [PTA] 7-11 计算平均分
  10. 网站HTPPS加密有什么作用