博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql基础
阅读量:5120 次
发布时间:2019-06-13

本文共 3240 字,大约阅读时间需要 10 分钟。

数据库

数据库相关概念

数据库服务器(本质就是一台计算机,该计算机上安装有数据库管理软件的服务端)
数据库管理系统RDBMS(本质就是一个C/S架构的套接字软件)
库(文件夹)---->数据库
表(文件)
记录:抽取一个事物的所有典型的特征/数据

数据库管理软件分类

关系型:有表结构,存取数据前必须先定义表结构,存数据必须按照字段的类型或者约束来
典型代表:MySQL,Oracle,DB2,SQL Server
非关系型:
存取数据都是采用key:value的形式
代表:mongodb,redis

基本管理(windows平台)

1、安装

2、加环境变量
3、把mysqld软件做成系统服务
注意:制作之前先把mysqld关掉
tasklist |findstr mysqld
taskkill /F /PID 8372
制作:
mysqld --install
查看:
windows+r 输入services.msc

4、启动:

未制作系统服务的启动方式:
1、启动服务端 mysqld
2、启动客户端
mysql -uroot -p -h127.0.0.1 -P 3306
如果是在本机登录mysqld服务端可以简写:
mysql -uroot -p
制作完系统服务后就可以鼠标点击启动或关闭mysql:
windows+r 输入services.msc 找到mysql,启动或关闭

5、破解管理员密码

1、先关闭mysqld服务端
2、以跳过授权表的方式在命令行中启动mysqld服务端
mysqld --skip-grant-tables
3、客户端直接以无密码的方式登录root用户,修改密码
mysql -uroot -p
update mysql.user set password=password("123") where user="root" and host="localhost"; flush privileges;(权限刷新)
4、在命令行中用taskkill杀死mysqld服务,然后正常启动mysqld
taskkill /F /PID 131312

6、统一字符编码

1、在mysql安装目录下新建my.ini文件
2、修改my.ini

1      [mysqld] 2        character-set-server=utf8 3        collation-server=utf8_general_ci 4      [client] 5        default-character-set=utf8 6      [mysql] 7        default-character-set=utf8

3、重启mysqld

4、客户端登录,输入\s查看结果

基本SQL语句

文件夹(库)

1create database db1 charset utf8;

1 alter database db1 charset gbk;

1   查看所有库的库名 2        show databases; 3   单独查看某一个库的信息 4        show create database db1;

1drop database db1;

文件(表)

首先切换文件夹:

1use db1; 2select database(); #查看当前所在文件夹、

1create table t1(id int,name char);

1alter table t1 modify name char(16);

1    查看当前库下所有的表名 2        show tables; 3    查看t1表的详细信息 4        show create table t1; 5    查看表结构 6        desc t1;

1 drop table t1;

文件的一行内容(记录)

1insert into db1.t1 values 2(1,'egon'), 3(2,'alex'), 4(3,'lxx');

1update db1.t1 set name='sb' where id > 1;

1select id,name from db1.t1;

1delete from db1.t1 where name = "SB" ;

存储引擎

什么是存储引擎

数据库中不同类型的表,会对应mysql不同的存取机制,表类型又称为存储引擎

存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型)

在Oracle 和SQL Server等数据库中只有一种存储引擎,所有数据存储管理机制都是一样的。而MySql数据库提供了多种存储引擎。用户可以根据不同的需求为数据表选择不同的存储引擎,用户也可以根据自己的需要编写自己的存储引擎

SQL 解析器、SQL 优化器、缓冲池、存储引擎等组件在每个数据库中都存在,但不是每 个数据库都有这么多存储引擎。MySQL 的插件式存储引擎可以让存储引擎层的开发人员设 计他们希望的存储层,例如,有的应用需要满足事务的要求,有的应用则不需要对事务有这 么强的要求 ;有的希望数据能持久存储,有的只希望放在内存中,临时并快速地提供对数据 的查询。

存储引擎的使用

方法1:建表时制定

1MariaDB [db1]> create table innodb_t1(id int,name char)engine=innodb; 2MariaDB [db1]> create table innodb_t2(id int)engine=innodb; 3MariaDB [db1]> show create table innodb_t1; 4MariaDB [db1]> show create table innodb_t2;

方法2:在配置文件中指定默认的存储引擎

1/etc/my.cnf 2[mysqld] 3default-storage-engine=INNODB 4innodb_file_per_table=1

查看

1[root@egon db1]# cd /var/lib/mysql/db1/ 2[root@egon db1]# ls 3db.opt  innodb_t1.frm  innodb_t1.ibd  innodb_t2.frm  innodb_t2.ibd

小练习

1MariaDB [db1]> create table t1(id int)engine=innodb; 2MariaDB [db1]> create table t2(id int)engine=myisam; 3MariaDB [db1]> create table t3(id int)engine=memory; 4MariaDB [db1]> create table t4(id int)engine=blackhole; 5MariaDB [db1]> quit 6[root@egon db1]# ls /var/lib/mysql/db1/ #发现后两种存储引擎只有表结构,无数据 7db.opt  t1.frm  t1.ibd  t2.MYD  t2.MYI  t2.frm  t3.frm  t4.frm 8#memory,在重启mysql或者重启机器后,表内数据清空 9#blackhole,往表内插入任何数据,都相当于丢入黑洞,表内永远不存记录

转载于:https://www.cnblogs.com/guodengjian/p/9003422.html

你可能感兴趣的文章
流动资产(财务报表解读)
查看>>
失业的程序员(九):创业就是一场戏
查看>>
迭代器模式
查看>>
Javascript 网页键盘输入,小键盘输入,如下图【来源网络】
查看>>
稀释和浮华
查看>>
最牛隐藏
查看>>
Mounting VMDK files in Linux
查看>>
C#中删除DataTable中的行的方法
查看>>
ABP学习笔记
查看>>
CAP原理和BASE理论
查看>>
php实现一个单链表
查看>>
剑指offer——数组中的逆序对
查看>>
检查项目类
查看>>
Revolving Digits
查看>>
linux每日命令(30): linux用户及用户组相关文件、命令详解
查看>>
各种筛法与莫比乌斯反演
查看>>
第二周总结站立会议07
查看>>
iOS敏捷开发之道,经常使用的宏定义总结
查看>>
Asp.net动态页面静态化之初始NVelocity模板引擎
查看>>
XMPP添加删除好友
查看>>