这里放的就是编译完的结果,程序都在这
需要修改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