这里放的就是编译完的结果,程序都在这
需要修改path变量,增加必要路径
确认生效
**scripts里的脚本,可以用来生成数据库,在/data/mysql下 **
指定安装的数据库在哪里
以谁的身份运行
找的其实是bin目录下的,不是scripts目录下的
数据就生成了
现在还缺少配置文件,/etc/my.cnf是默认的,可以自己指定配置路径
都设置好了其实可以暂时不动
加到服务列表里
启动失败
因为配置文件放在了/ETC/下
所以配置文件还必须放在etc下
这就是源码 编译的过程,现在的字符集就是utf8
二进制安装其实类似,只是下载的是已经编译完了的
相当于把编译的app这个程序打了包
把二进制包导入文件必须放在usr/local使用,因为默认编译放在这里,可以创建个软连接
/usr/local路径就跟编译按爪个的/app/mysql一样
这里面的文件没有所属人,所属组
需要指定将来数据库存放的路径
10以上版本,innodb_file_per_table是默认企业的
之前yum安装的老版本就不是启用的,这一项的意思就是将来创建的表是否是同一个文件,开启以后,每个表都是独立存放的,不是放在一个大文件
做名词解析,可能影响性能
数据库操作
存储过程其实不推荐使用,函数也不推荐使用,为了提高速度可以用索引,视图
sql server用的t-sql,orcale用的PL/SQL,各个厂家都加了功能在里面
写到程序里还是最好用大写,有些优化策略可能因为大小写不规范造成无法使用
这些都是对象,不能重名
manipulation操作
DDL 数据定义语言,创建对象,删除对象,修改对象(数据库,表,字段)
DML数据操作语言(增删改)
DCL,主要是数据控制语言,权限问题 GRANT授权,revoke 取消,commit确认
DQL数据查询语言
会告诉你 create database指令如何使用
数据库本质上就是个文件夹
现在看到的就是字符集排序规则
这是源码编译的数据库,指定了默认编码是utf8
也可以在文件里看到字符集
这是yum安装的
现在用数据库就是默认utf8mb4
创建表的时候也可以单独定义字符集
DROP命令删除数据库
test数据库的文件夹也就删除了
修饰符,awk里面有向左对其,向右对其
修饰符可以定义主键外键,允许是否为空,来限定该字段的一些特殊属性
查看 create table帮助定义写法,列的名称,列的定义
表字段数据类型的定义
数据类型大致三类,数值,字符,时间
一个字节,8位,纯正数,有0-255
2的16次方,65535
加了unsigned,就全部是正数
char是定长,varchar是不定长的,char因为是定长,在磁盘上保存有规则,性能更好,varchar就节约空间
text可以放很长的字符串
时间格式
null值会导致在记录索引的时候,进行搜索,带来麻烦
可以指定某个表中特殊字段使用独立的字符集,一般不推荐
desc可以查看表的定义
复合主键
not null 不允许为空,default默认值
拉汀插入中文会产生乱码
现在就是utf8
表已经生成文件了
现在数据库版本比较低,这个版本把数据库所有表集中存放
集中存放这里了
在之前源码编译的数据库上创建表试试
现在是有两个文件的,ibd是存放数据的真正文件
老版本需要增加一个配置 innodb_file_per_table
后期创建的表,每张表都会独立的文件
把之前的表删除,文件就没了
重新再创建一次
现在就有两个文件了,frm是表定义文件,ibd数据文件
生产中很少改表结构
主要有主键就有索引
这就是枚举,gender字段要么是M要么f