1,MySQL的安装
- 初识SQL语言
- SQL语言主要是用于存储数据,查询数据,更新数据和管理关系型数据库系统,SQL语言由IBM开发,即甲骨文。
- SQL的三种类型
- DDL语句:
- 数据库定义语言:数据库,表,视图,索引,储存过程,例如,create,drop,alter
- DML语句:
- 数据库操纵语言:插入数据insert,删除数据delete,更新数据update,查询数据select
- DCL语句:
- 数据库的控制语言,例如控制用户的访问权限grant,revoke
- DDL语句:
- 数据库的命名规则
- 可以有数字,字母,下划线,@,#,¥
- 区分大小写
- 不能使用关键字如 create,select
- 不能单独使用数字
- 最长128位
2,MySQL的简单指令
- DBMS数据库管理系统
- mysql RDBMS 关系型数据库管理系统
- 数据库database,相当于文件夹
- 查看数据库
- show databases;
- show databases;
- 创建数据库
- create database db1;
- create database db1;
- 使用数据库
- use 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 [email protected] = 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-winx64data # 允许最大连接数 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:读写分离两个服务器