一知识储备
数据库服务器: 一台计算机 (对内存要求比较高)
数据库管理系统: 如 mysql, 是一个软件
数据库: oldboy_stu, 相当于文件夹
表: student,scholl,class_list, 相当于一个具体的文件
记录: 1 susan 158426544 22, 相当于文件中的一行内容
二初始 SQL 语言
SQL(Structured Query Language 即结构化查询语言)
SQL 语言主要用于存取数据查询数据更新数据和管理关系数据库系统, SQL 语言由 IBM 开发 SQL 语言分为 3 种类型:
DDL 语句 数据库定义语言: 数据库表视图索引存储过程, 例如 CREATE DROP ALTER
DML 语句 数据库操纵语言: 插入数据 INSERT 删除数据 DELETE 更新数据 UPDATE 查询数据 SELECT
DCL 语句 数据库控制语言: 例如控制用户的访问权限 GRANTREVOKE
三系统数据库
SQL(Structured Query Language 即结构化查询语言)
SQL 语言主要用于存取数据查询数据更新数据和管理关系数据库系统, SQL 语言由 IBM 开发 SQL 语言分为 3 种类型:
DDL 语句 数据库定义语言: 数据库表视图索引存储过程, 例如 CREATE DROP ALTER
DML 语句 数据库操纵语言: 插入数据 INSERT 删除数据 DELETE 更新数据 UPDATE 查询数据 SELECT
DCL 语句 数据库控制语言: 例如控制用户的访问权限 GRANTREVOKE
四创建数据库
数据库命名规则:
可以由字母数字下划线@#$
区分大小写
唯一性
不能使用关键字如 create select
不能单独使用数字
最长 128 位
create database db1
五数据库相关操作
数据库的相关操作
注意: 数据库就相当于文件夹
表就相当于文件
数据库的命名规则:
一. 数据库的增删改查 (sql 语句)
增: create database db1;
删: drop database db1;
改: alter database db1 charset utf8
查: show databases;# 查看所有的数据库
show create database db1; 查看指定的数据库
设置默认的 utf8, 在配置文件中: 写上 character_set_server = utf8
- use db2 #代表你鼠标双击切换目录
- select database() #查看你当前在哪个文件夹
二. 表的增删改查
增: create table t1(id int ,name char); (t1.frm 表结构 ,t1.ibd 表数据)
删: drop table t1;
改:
插入数据: insert into test(id,name) values(1,x)
不写给谁传值就指定都传, 而且还是按照位置传
查: show tables; #查看所有表
- show create table t1;# 查看指定的表
- select * from t1 #查看表数据
- select id,name from t1 #查看表数据
- engine = InnoDB
表的存储引擎是 InnoDB
六什么是存储引擎?
存储引擎说白了就是如何存储数据如何为存储的数据建立索引和如何更新查询数据等技术的实现方
法因为在关系数据库中数据的存储是以表的形式存储的, 所以存储引擎也可以称为表类型 (即存储和操作此表的类型)
SQL 解析器 SQL 优化器缓冲池存储引擎等组件在每个数据库中都存在, 但不是每 个数据库都有这么多存储引擎 MySQL 的插件式存储引擎可以让存储引擎层的开发人员设 计他们希望的存储层, 例如, 有的应用需要满足事务的要求, 有的应用则不需要对事务有这 么强的要求 ; 有的希望数据能持久存储, 有的只希望放在内存中, 临时并快速地提供对数据 的查询
一种类型表明的是一种存储方式
存储引擎: 就是表的类型, 不同的类型就会对应不同的处理机制去处理他
事务: 就是要么同时成功, 要么同时不成功
使用存储引擎
方法 1: 建表时指定
存储引擎
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 黑洞, 吃数据 (数据存进去就没有了, 存进去就没有了)
方法 2: 在配置文件中指定默认的存储引擎
- /etc/my.cnf
- [mysqld]
- default-storage-engine=INNODB
- innodb_file_per_table=1
来源: http://www.bubuko.com/infodetail-2501172.html