Mysql数据库
数据库相关概念
数据库服务器:运行数据管理软件的计算机
数据库:顾名思义数据仓库,是一个文件夹、存储多个文件(数据表)
数据表:对应一个文件,存储在数据库下
数据:对应文件中的每一行,描述事物特征的符号
- 数据库管理软件
关系型:需要有表结构(mysql,sqlserver,db2,oracle)
非关系型:key-value结构(redis,mongodb)
用户相关
win
安装为系统服务:
mysqld --install
- 改密码:
mysqladmin -uroot -proot password "root"
- 登录:
mysql -uroot -proot
- 启动:
net start mysql56
停止:
net stop mysql56
- 破解密码:
mysqld --skip-grant-tables
- 更新密码:
update mysql.user set password=password("密码") where user="root" and host="localhost";
- 刷新:
flush privileges;
杀:
taskkill /F /PID ....
查看登陆用户:
select user();
linux
- 破解:
mysql_safe --skip-grant-tables
统一字符编码
查看字符编码
统一字符编码
# 修改配置文件
[mysqld]
default-character-set=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
#mysql5.5以上:修改方式有所改动
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
# 这样在控制台输入mysql可以直接登录
user='root'
password='root'
初识sql语句
操作文件夹(库)
切换文件夹:
use db1;
- 增加:
create database db1 charset utf8;
- 查看:
建库语句:
show create database db1;
所有数据库:
show databases;
查看当前所在数据库:
select database();
- 修改:
- 修改字符编码:
alter database db1 charset gbk;
- 修改字符编码:
删除:
drop database db1;
操作文件(表)
增:
create table t1(id int,name char) engine=innodb;
- 删:
删除:
drop table t1;
清空表结构:
truncate table t1;
- 改:
修改表字段类型:
alter table t1 modify name char(6);
修改表字段名称:
alter table t1 change name Name varchar(8);
- 查:
查看建表语句:
show create table t1;
- 查看所有表:
show tables;
查看表结构:
desc t1;
操作文件内容(记录)
增:
insert into t1(id,name) values(1,'egon'),(2,'egon'),(3,'alex');
- 删:
delete from t1
; 自增长并没有改变,不是1,所以尽量与where搭配。delete from t1 where id=1;
- 改:
update t1 set name='sb';
update t1 set name='alex' where id=2;
- 查:
select * from t1;
select id,name from t1;
sql语言类型
DDL语句:数据库定义语言,create drop alter
DML语句:数据库操作语言,insert update delete select
DCL语句:数据库控制语言,grant revoke
存储引擎
什么是存储引擎
现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制:比如处理文本用txt类型,处理表格用excel,处理图片用png等
数据库中的表也应该有不同的类型,表的类型不同,会对应mysql不同的存取机制,表类型又称为存储引擎
。
存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型)
查看存储引擎
show engines;
表操作
创建
create table 表名(
字段名1 类型[(宽度) 约束条件],
字段名2 类型[(宽度) 约束条件],
字段名3 类型[(宽度) 约束条件]
);
注意:
- 在同一张表中,字段名是不能相同
- 宽度和约束条件可选
- 字段名和类型是必须的
查看表结构
desc table1