1,MySQL的安装
初识SQL语言
SQL语言主要是用于存储数据,查询数据,更新数据和管理关系型数据库系统,SQL语言由IBM开发,即甲骨文。
SQL的三种类型
DDL语句:
数据库定义语言:数据库,表,视图,索引,储存过程,例如,create,drop,alter
DML语句:
数据库操纵语言:插入数据insert,删除数据delete,更新数据update,查询数据select
DCL语句:
数据库的控制语言,例如控制用户的访问权限grant,revoke
数据库的命名规则
可以有数字,字母,下划线,@,#,¥
区分大小写
不能使用关键字如 create,select
不能单独使用数字
最长128位
2,MySQL的简单指令
DBMS数据库管理系统
mysql RDBMS 关系型数据库管理系统
数据库database,相当于文件夹
查看数据库
show databases;
创建数据库
create database db1;
使用数据库
use db1;
库的增删改查
创建数据库并指定编码
create database db2 charset utf8;
修改数据库
alter datebase db2 charset utf8;
删除数据库
drop database db2
表 table,相当于文件
首先切换到文件夹下
use db1
创建表
create table stu(in int, name char(16));
查看当下所有的表
show tables;
查看创建的指定的表
show create table stu;
查看看表结构
desc stu;
表的增删改查
新增信息,两种方法
insert into stu values(1,‘大卫’),(2,‘小钰’),(3,‘阿浪’);
insert into stu(id ,name) values(1,‘大卫’);
删除表中内容
delete from stu where name = ‘阿浪’;
修改表中内容
update stu set name = ‘david’ where id = 3;
查看所有的表数据
select * from stu;
条件查询
select * from stu where id = 1;
其他指令
查看字符编码的指令
show variables like “%char%”;
mysql 链接服务端的完整指令
mysql -h 127.0.0.1 -p 3306 -u root -p
如果在cmd中输入命令的时候,输入错了就用‘\c跳出
\s 查看配置信息
3,修改密码的三种方式
方法1: 用SET PASSWORD命令
首先登录MySQL,使用mysql自带的那个客户端连接上mysql。
格式:mysql> set password for 用户名@localhost = password('新 密码');
例子:mysql> set password for root@localhost = password('123');
方法2:用mysqladmin (因为我们将bin已经添加到环境变量了,这个mysqladmin也在bin目录下,所以可以直接使用这个mysqladmin功能,使用它来修改密码)
关于mysqladmin的介绍:是一个执行管理操作的客户端程序。它可以用来检查 服务器的配置和当前状态、创建和删除数据库、修改用户密码等等的功能,虽然mysqladmin的很多功能通过使用MySQL自带的mysql客户端可以搞定,但是 有时候使用mysqladmin操作会比较简单。
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -p123456 password 123
方法3:用UPDATE直接编辑那个自动的mysql库中的user表
首先登录MySQL,连接上mysql服务端。
mysql> use mysql; use mysql的意思是切换到mysql这个库,这个库是 所有的用户表和权限相关的表都在这个库里面,我们进入到这个库才能修改这个 库里面的表。
mysql> update user set password=password('123') where user='root' and host='localhost'; 其中 password=password('123') 前面的password是变量,后面的password 是mysql提供的给密码加密用的,我们最好不要明文的存密码,对吧,其中 user是一个表,存着所有的mysql用户的信息。
mysql> flush privileges; 刷新权限,让其生效,否则不生效,修改不成功。
4,密码忘记怎么办
1 停掉MySQL服务端(net stop mysql)
2 切换到MySQL安装目录下的bin目录下,然后手动指定启动程序来启动mysql服务端,指令: mysqld.exe --skip-grant-tables
3 重新启动一个窗口,连接mysql服务端,
4 修改mysql库里面的user表里面的root用户记录的密码:
update user set password = password('666') where user='root';
5 关掉mysqld服务端,指令:
tasklist|findstr mysqld
taskkill /F /PID 进程号
6 正常启动服务端(net start mysql)
5,mysql配置文件
[client]
#设置mysql客户端默认字符集
default-character-set=utf8
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
user = 'root'
password = '123'
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=E:\mysql-5.6.45-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:\mysql-5.6.45-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
6,储存引擎
储存引擎:就是如何储存数据,如何为储存的数据建立索引和如何更新,查询数据等技术的实现方法,因为在关系型数据库中数据的储存是以表的形式储存 的,所以储存引擎也可以称为表类型,即储存和操作此表的类型
储存引擎:就是表的类型,一种类型表明的是一种储存方式,不同的类型就会对应不同的处理机制去处理他
事物:就是要么同时成功,要么同时不成功
方法一:建表是指定
存储引擎
1.create table t1(id int) engine = innodb 会出现2个文件
2.create table t2(id int) engine = myisam 会出现3个文件(速度比上面的快),但是我们还是用innodb存储
3.create table t3(id int) engine = memory 只有表结构没有表数据,是创建到内存中的
4.create table t4(id int) engine = blackhole 黑洞,吃数据(数据存进去就没有了,存进去就没有了
方法二:在配置文件中指定默认的储存引擎
/etc/my.cnf
[mysqld]
default-storage-engine=INNODB
innodb_file_per_table=1
MySam:读写分离两个服务器