day42
mysql database
1. Definition
数据库管理软件,本质就是一个套接字程序
2. Components and related concepts
字段 => 表的标题
记录 => 文件中的一行内容
表 => 文件
库 => 文件夹
数据库管理软件 => 套接字软件
数据库服务器 => 运行有数据库管理软件服务端的计算机
3. Relational and non-relational
关系型:
oracle db2 sqlserver mysql
1、SQL Server是微软, .net程序员最爱,中型和大型项目,性能高
2、Oracle数据库是甲骨文,java程序员,大型项目,特点是适合处理复杂业务逻辑
3、mysql数据库是sun公司,属于甲骨文公司。中型和大型项目。特点是并发性好,对简单的sql处理效果高
4、db2数据库是ibm公司,处理海量数据,大型项目,很强悍.
非关系型:
redis memcache mongodb
4. Classification of SQL statements
SQL(Structured Query Language 即结构化查询语言)
SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。SQL语言分为4种类型:
DDL语句 数据定义语句: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER
DML语句 数据操作语句: 插入数据INSERT、删除数据DELETE、更新数据UPDATE
DCL语句 数据控制语句: 例如控制用户的访问权限GRANT、REVOKE
DQL语句 数据查询语句: 查询数据SELECT语句
5. Database naming rules
可以由字母、数字、下划线、@、#、$
区分大小写
唯一性
不能使用关键字如 create select
不能单独使用数字
最长128位
6. Database related operations
数据库的相关操作
注意: 数据库就相当于文件夹
表就相当于文件
记录就相当于文件中的一行内容
1、数据库的增删改查(sql语句) => 文件夹
增: create database db1;
create database db1 charset utf8mb4;
删: drop database db1;
改: alter database db1 charset utf8
查: show databases;
show create database db1;
设置默认的utf8,在配置文件中: 写上character_set_server = utf8
use db2
select database()
2、表的增删改查 => 文件
增: create table t1(id int ,name char); (t1.frm 表结构,t1.ibd 表数据)
删: drop table t1;
改: alter table t1 rename tt1;
alter table tt1 modify name char(10);
alter table tt1 change name mingzi char(3);
查: show tables;
show create table t1;
desc t1;
engine = InnoDB
表的存储引擎是InnoDB
3、记录操作 => 文件中的一行内容
增:
insert into test(id,name) values(1,'allen')
insert test values(1,"zhangsan");
insert test values(2,"tom"),(3,"jack"),(4,"lily");
insert test(id) values(5),(6);
删:
delete from test;
delete from test where id=1;
truncate test;
改:
update test set name="lisi",id=444 where id=4;
查:
select * from test
select name from test
7, storage engine
存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方
法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型)
SQL 解析器、SQL 优化器、缓冲池、存储引擎等组件在每个数据库中都存在,但不是每 个数据库都有这么多存储引擎。MySQL 的插件式存储引擎可以让存储引擎层的开发人员设 计他们希望的存储层,例如,有的应用需要满足事务的要求,有的应用则不需要对事务有这 么强的要求;有的希望数据能持久存储,有的只希望放在内存中,临时并快速地提供对数据的查询。
一种类型表明的是一种存储方式
存储引擎: 就是表的类型,不同的类型就会对应不同的处理机制去处理他
事务: 就是要么同时成功,要么同时不成功
8. Set the initial password and forget the password related operations
update mysql.user set password=password("设定的密码") where user="root" and host="localhost";
flush privileges;
(1) 先关闭mysqld服务端
(2) 重新启动:mysqld --skip-grant-tables
(3) 启动客户端:mysql -u
update mysql.user set password=password("设定的密码") where user="root" and host="localhost";
flush privileges;
(4) 重新启动mysqld