101 Mysql Getting Started

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;  # 创建数据库db1并指定字符集
    create database db1 charset utf8mb4;  # 创建数据库db1并指定字符集: 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;  # 将表名t1改成tt1
    alter table tt1 modify name char(10);  # 将表tt1的name字段类型改成char(10)
	alter table tt1 change name mingzi char(3);  # 将表tt1的name字段改成mingzi,并把类型改成char(3): show tables;  # 查看所有表
    show create table t1;  # 查看指定的表
    desc t1;  # 查看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);  # 可以指定给某一字段添加数据(前提是其他字段可以设置为null):
    delete from test;  # 删除数据表test的数据,如果表中存在主键并且是自增长,那么下次再插入数据的时候会在此计数上加1,如果想清空整张表,推荐使用truncate
    delete from test where id=1;  # 删除数据表test中id为1的数据
    truncate test;  # 清空整张表:
    update test set name="lisi",id=444 where id=4;:
    select * from test  # 查看test表中所有字段数据
    select name from test  # 查看test表中指定name字段数据

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

Guess you like

Origin blog.csdn.net/qq_40808228/article/details/108328332