第二章《数据库的基本操作》

第二章《数据库的基本操作》

一、mysql默认安装的4个库:
1.information_schema:保存关于mysql服务器所维护的所有的其他数据库的信息,例如:数据库名、数据库中的表名;
2.mysql:记录数据库用户,权限,关键字等。mysql自己需要使用的控制和管理信息;
3.performance_schema:5.5版本新增一个库,用于手机服务器性能参数,且该库中所有的表的存储引擎均为performance_schema;
4.test:测试库,所有用户再test库里都有root权限(一般不会存储有用的信息再test库里)
二.1.创建数据库:create database databasename; databasename是指数据库名称
2.移动到指定的数据库里:use databasename;
3.删除数据库:drop database databasename;
其它用法
1、使用SHOW语句找出在服务器上当前存在什么数据库:
mysql> SHOW DATABASES;
2、创建一个数据库MYSQLDATA
mysql> CREATE DATABASE MYSQLDATA;
3、选择你所创建的数据库
mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)
4、查看现在的数据库中存在什么表
mysql> SHOW TABLES;
5、创建一个数据库表
mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6、显示表的结构:
mysql> DESCRIBE MYTABLE;
7、往表中加入记录
mysql> insert into MYTABLE values (”hyq”,”M”);
8、用文本方式将数据装入数据库表中(例如D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE;
9、导入.sql文件命令(例如D:/mysql.sql)
mysql>use database;
mysql>source d:/mysql.sql;
三,数据库的存储引擎:
1.什么是存储引擎:数据库的存储引擎是数据库的底层软件组件,数据库管理系统(Dbms)就是依赖存储引擎来对数据表进行创建,查询,更新和删除操作的。不同的存储引擎提供了不同的存储机制,索引技巧和锁定水平等功能。还可以获得某些特定的功能。现在不同的数据库的管理系统都支持多种不同的存储引擎。mysql的核心就是存储引擎。
2.MySQL的存储引擎,包括处理事务安全表的引擎和处理非事务安全表的引擎。在MySQL中不需要所有的表都使用同一种引擎,针对具体的需求每一张表都可以选择不同的存储引擎。
MySQL5.5支持的存储引擎有:InnoDB,MyiSAM,Memory,CVS等。
查看mysql中所有的存储引擎的命令:show engines\G
Engine: PERFORMANCE_SCHEMA #引擎名称
Support: YES #mysql是否支持这种引擎
Comment: Performance Schema #mysql对它的评价
Transactions: NO #是否支持事务
XA: NO #是否支持事务的分布式
Savepoints: NO #事务的保存点
1.myisam存储引擎的特点:
(1)myisam引擎读取速度快,占用资源少,不支持事务,不支持外键约束,但支持全文索引
(2)读写相互阻塞,也就是说读数据的时候就不能写数据,写数据的时候就不能读数据;
(3)myisam引擎只能缓存索引,而不能缓存数据;
(4)mysql5.5之前的默认引擎。
使用场景:
(1)不需要事务支持的业务,例如银行转账就不适合用myisam引擎;
(2)适用于读数据比较多的业务,不适用于读写频繁的业务;
(3)并发相对较低的业务(纯读或者纯写的高并发也可以),数据修改相对较少的业务;
(4)硬件资源比较差的机器可以考虑多使用myisam引擎。
2.InnoDB存储引擎的特点:
(1)事物类数据表的首选引擎,支持事物安全表,支持行级别锁定和外键,mysql5.5之后的默认引擎;
(2)具有提交,回滚和崩溃恢复能力的事物安全存储引擎,能处理巨大的数据量,性能及效率高,完全支持外键完整约束条件;
(3)具有非常高的效的缓存特性,能缓存索引也能缓存数据,对硬件要求高,
(4)使用InnoDB时,将在mysql数据目录创建一个名为ibdata的10M带大小的自动扩展文件,以及两个名为ib_logfile0和ib_logfile1的5M带大小的日志文件。
使用场景:
(1)需要事物支持的业务,高并发的业务;
(2)数据更新较为频繁的场景,比如:BBS(美国论坛网站),SNS,微博等;
(3)数据一致性要求较高的业务,比如充值转账,银行卡转账等。
memory存储引擎的特点:
(1)memory存储引擎将表中的数据存储内存中,为查询和引用其他表数据提供快速访问;
(2)memory存储引擎执行HASH和BETREE索引,不支持BLOB和TEXT列,支持AUTO_INCREMENT列,和对可包括NULL值的列的索引;
(3)当不在需要memory表的内容时,要释放memory表占用的内存,可以执行delete from或者truncate table,或者删除整个表。
DELETE FROM table_name: 清空表数据,但是不清空表空间;
TRUNCATE TABLE table_name: 清空表数据,同时清除表空间
CSV:将数据保存为CSV格式文件,可以导入到其它数据库中;
CSV引擎的特点:
(1)以csv格式进行数据存储
(2)所有列必须都是不能为NULL的
(3)不支持索引
(4)可以对数据文件直接编辑
ARCHIVE:归档,将数据zlib进行压缩,被当做仓库使用,一般对他只进行insert和select操作,他适合存储日志。
mrg_myisam:相当于将多个myisam的合并版,将多个myisam表合并为一个。
SHOW GLOBAL VARIABLES LIKE ‘%datadir%’ ; #查询数据存储路径
存储引擎的选择:
(1)如果要提供提交、回滚和崩溃恢复能力的事务安全能力,并要求实现并发控制,InnoDB是个很好的选择
(2)如果数据表用来插入或者是查询记录,则MyISAM引擎能提供较高的处理效率
(3)如果只是临时存放数据,数据量不大,并且不需要较高的安全性,可以选择将数据保存在内存中的memory引擎,MySQL使用该引擎作为临时表,存放查询的中间结果;
(4)如果只有INSERT和SELECT操作,可以选择Archive引擎,支持高并发的插入数据操作,如记录日志信息可以使用Archive引擎;
在这里插入图片描述
MySQL 修改root密码的四种方法
1 用set password命令
首先登陆MySQL
格式 MySQL > set password for 用户名@localhost=password(‘新密码’)
例子 MySQL > set password for root@localhost=password(‘123’);
2 在命令行用 mysqladmin
格式 mysqladmin -u 用户名 -p 旧密码 password 新密码
列子mysqladmin -uroot -p123456 password 123
方法3 用update直接编辑user表
首先登陆MySQL
MySQL>use MySQL;
MySQL> update user set password=password(‘123’)where user=‘root’ and
host=‘localhost’;
mysql>flush privileges;
方法4 :忘记root密码的时候
vim /etc/my.cnf
在[mysqld]下面添加一行skip-grant-tables
然后重启,在登陆MySQL(此时密码为空)使用命令 update mysql.user set password=password(‘密码’)where user=root host=‘localhost’;
回到配置文件,删除刚刚添加的那行,在重启服务就可以用新密码登陆了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101976.html原文链接:https://javaforall.net

(0)
上一篇 2021年5月28日 下午8:00
下一篇 2021年5月28日 下午9:00


相关推荐

  • 2022美赛A题思路分享

    2022美赛A题思路分享2022美赛A题思路分享

    2022年5月18日
    40
  • echarts的grid属性详解

    echarts的grid属性详解grid配置项:图标离容器的距离show:是否显示直角坐标系网格———–值:true?falseleft:图表离容器左侧的距离—————–值:number?百分比top:图表离容器顶部的距离—————–值:number?百分比right:图表离容器右侧的距离—————值:number?百分比bottom:图表离容器底部的距离————值:number?百分比backgroundColor:网格背景色—

    2022年7月15日
    44
  • 配置fdfs

    配置fdfs配置 fdfs1 修改 etc fdfs 下的配置文件 root localhostfdf szstorage conf sample root localhostfdf sztracker conf sample2 修改 tracker 配置文件 base path home yuqing fastdfs 指定存放日志文件位置修改为 base path opt fastdfs tracker3 修改 storage 配置文件 base path home yuqing

    2026年3月26日
    2
  • 玩转OpenClaw|云上OpenClaw接入元宝

    玩转OpenClaw|云上OpenClaw接入元宝

    2026年3月16日
    2
  • JAVA中的数组插入与删除指定元素

    JAVA中的数组插入与删除指定元素今天学了Java的数组,写了数组的插入和删除,本人小白,写给不会的小白看,大神请忽略,有错请大家指出来;/**给数组指定位置数组的插入*/importjava.util.*;publicclassArrayInsert{publicstaticvoidmain(String[]args){System.out.println(“请用键

    2022年6月26日
    64
  • 约瑟夫环问题详解

    约瑟夫环问题详解在牛客网上做到一道题,是约瑟夫环的变型,所以借此学习一下新知识,并且巩固一下对题目意思的理解,这一篇仅作约瑟夫环问题的解释,下一篇再写题目:1.首先,我们先来了解一下什么是约瑟夫环问题:讲一个比较有意思的故事:约瑟夫是犹太军队的一个将军,在反抗罗马的起义中,他所率领的军队被击溃,只剩下残余的部队40余人,他们都是宁死不屈的人,所以不愿投降做叛徒。一群人表决说要死,所以用一种策略来先后杀…

    2022年6月4日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号