欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

8.16 day34 MySQL基本

程序员文章站 2024-03-15 14:10:36
...

MySQL数据库简介

是一款基于网络通信的cs架构的应用软件

主要针对

服务端
客户端
        自带的客户端
        其他编程语言
------------------------------------------------        
                服务端
                        mysqld
                客户端
                        mysql -h 127.0.0.1 -P 3306 -uroot -p

统一的标准:sql语句

Ps:MySQL其实就是一款远程操作文件的软件

对应关系

文件夹              库
文件               表
文件内一行行数据     记录

将mysqld制作成系统服务

你的cmd终端一定要是管理员身份运行 否则无法设置
    mysqld --install

查看服务

services.msc

修改密码

直接在命令行敲该命令 而不是在客户端内
    mysqladmin -uroot -p原密码 password新密码

关闭MySQL服务端

查找服务
        tasklist |findstr mysqld 
杀死进程
        taskkill /F /PID pid

**密码

1.先将已经启动的MySQL服务端关闭
2.命令行手动启动MySQL服务端
        mysqld --skip-grant-tables
3.直接以无密码管理员身份 mysql -uroot -p
4.修改管理员账户的密码
        update mysql.user set password=password(新密码) where user='root' and host='localhost';
5.重启MySQL服务端
6.以新密码的方式登录

编码问题

\s查看当前软件信息( 包括了编码问题 )

mysql默认编码是有很多种的
为了防止编码问题 应该统一编码
mysql自带一个mydefault.ini配置文件
该文件是模板配置文件 千万不能修改
你可以自己新建一个my.ini配置文件,服务端在启动的时候就会去加载你的my.ini配置文件  

增删改查


create database db1;
show databases;
show create database db1;
alter database db1 charset='utf8';      
drop database db1;  

use db1  切换到某个库下
create table t1(id int,name char);
show tables;
show create table t1;
desc t1
alter table t1 modify name char(16);
drop table t1;

记录

insert into t1 values(1,'jason');
select * from t1;
select id,name from t1;
select id,name from t1 where id = 1 or name='jason';
update t1 set name='egon' where id = 1;
delete from t1 where id = 1;    

mysql存储引擎

存储引擎 :

不同的数据应该有不同的处理机制

我们需要熟悉的是下面四种存储引擎

Innodb:默认的存储引擎  查询速度较myisam慢  但是更安全
---------------------------------
myisam:mysql老版本用的存储引擎
---------------------------------
memory:内存引擎(数据全部存在内存中)
---------------------------------
blackhole:无论存什么 都立马消失(黑洞)

查看每个存储引擎存取数据的特点

show engines;

文件格式有很多种,对应的软件也有很多种txt,pdf等

针对不同类型的文件,需要对应有不同的软件帮助我们去操作

现在创建表时默认使用innodb引擎,因为innodb引擎:支持事务处理;提供了行锁,提供外键约束

保证了数据的安全

myisam是之前使用的引擎,myisam具有索引,可以支持全文搜索,存取速度更快,这也是相对innodb引擎快,innodb引擎实际已经很快了,

blackhole黑洞引擎,存入什么,什么就消失

memory内存引擎,只是创建临时表,关闭服务端或者服务端断点,数据丢失

8.16 day34 MySQL基本

Innodb
            目前5.5之后MySQL版本默认的存储引擎
            支持事务,行锁,外键
            由于上面的支持 数据更安全
            
            建表的时候innodb会产生两个文件
                一个是表结构文件
                一个是存储数据文件
MyIsam
            5.5版本之前的MySQL的默认存储引擎
            查询速度较于Innodb要快
            建表的时候会产生三个文件
                一个是表结构文件
                一个是索引文件
                    索引你先把它理解成是书的目录,能够帮助你更快的查询数据
                一个是存储数据文件
memory
            将数据存放于内存中 
            建表的时候都仅仅只有一个表结构文件
blackhole
            任何写入的数据都会消失
            建表的时候都仅仅只有一个表结构文件