数据库概念
那Mysql能干嘛呢?它就是一款软件,安装在任何一台计算机或者服务器上的时候,只要我告诉它创建一个文件,新增一个数据,删除一个数据它就能帮我去做想要的操作
那我们暂且能不能理解为mysql就是用来帮我们操作文件的!
我们也可以再把数据可理解为就是帮我们增删改查数据
MySQL:用于管理文件的一个软件(两个程序)
-服务端软件
-socket服务端
-本地文件操作
-解析指令
-客户端软件
-socket客户端
-发送指令
-解析指令
客户端可以有很多个,python,java,php,c++都可以编程一个客户端,用代码指定ip port链接上服务端即可操作
那么问题来了,不同的客户端练我一个服务端,语言不相同无法实现交流。所以应该有共同的语言才行>>>解析指令(sql语句)
技能:
-安装 服务端和客户端
-链接
-学习sql语句规则,指定服务端做任何操作
mysql只是一种能够帮助我们管理数据的软件,还有其他类似的软件也是通过发送指令来帮你管理数据库
其他类似软件:
关系型数据库:sqlite,db2,oracle,access,sql server,MySQl
非关系型数据库:mongodb,redis
关系型:彼此之间有约束或者有联系
总结:mysql就是帮助我们远程在文件上做相应操作的
MySQL固定端口号3306
mysqladmin -uroot -p password "123" # 第一次修改完密码以后,之后还修改密码需要 mysqladmin -uroot -p123 password "123456" # 为了后续调试方便,这里把密码设为空值 mysqladmin -uroot -p123 password "新密码"
破解密码
首先将运行的服务器停掉
1.跳过用户名和密码的验证功能 启动服务端 mysqld --skip-grant-tables 启动服务端 跳过授权表 2.修改管理员用户对应的密码 update mysql.user set password=password(123) where user='root' and host='localhost'; 3.关闭当前服务端 重新以校验用户名密码的方式启动 4.正常以用户名密码的方式 连接mysql服务端
统一字符编码
mysql命令:"s" 查看编码
修改配置文件,执行时会自动查找my.ini文件
mysql不输用户名和密码,会默认以游客模式登陆,不好!
# my.ini配置文件特点 [mysql] #终端输入mysql打头的命令就会加载下面的配置 username='root' # 演示确实加载改文件,但是username叫user才正确 password = '123' [mysqld]
[mysqld] character-set-server=utf8 collation-server=utf8_general_ci [client] default-character-set=utf8 [mysql] default-character-set=utf8
基本sql语句
对数据的增删改查
sql书写错误,只要没加分号,可以加c使前面的sql语句失效
针对文件夹的(库)
# 增 create database db1 charset utf8; # 改 alter database db1 charset gbk; # 查 show databases; show create database db1; # 删 drop database db1;
文件首先需要在文件夹下面,所以在操作文件之前,应该先确定操作的是哪个文件夹下面的文件
# 切换文件夹 user db1; select database(); # 查看当前所在的库 # 增 create table t1(id int,name char); # 创建出来的可能是多个文件,解耦管理 # 改 alter table t1 modify name char(16); # 查 show tables; show create table t1; # 查看表的详细信息 describe t1; == desc t1; # 查看表结构 # 删 drop table t1;
针对记录的
记录
先创建一个库或者指定一个已经存在的库
切换到该库下 创建表
然后再操作记录
create database db1;
create table userinfo(id int,name char(32),password int);
增
insert into userinfo values(1,'jason',123); 插入单条数据
insert into userinfo values(1,'jason',123),(2,'egon',123),(3,'tank',123); 插入多条数据
查
select * from userinfo; 查询所有的字段信息
select name from userinfo; 查询指定字段信息
select id,name from userinfo where id=1 or name=tank; 带有筛选条件的字段信息
改
update userinfo set name='kevin' where id=1; 修改数据的一个字段信息
update userinfo set name='jason',password=666 where id=1; 修改数据的多个字段
删
delete from userinfo where id =1; 指定删符合条件的数据
delete from userinfo; 将表中的数据全部删除