- 数据库的一些基本操作:
1.安装服务端
yum groupinsatll mariadb
2.安装客户端
yum install mariadb-client
3.启动服务端
systemctl start mariadb
4.设置开机启动
systemctl enable mariadb
- 为提高安全性需执行安全性的执行脚本
mysql_secure_installation
为mariadb的跟密码输入当前密码,如果你是新安装的mariadb数据库没有密码则直接按下enter键即可- 设置root密码(输入两次确认)
- 删除匿名用户
- 不允许远程root登录
- 删除测试数据库
- 重新加载权限表
- 优化mariadb可以在配置文件中加入一行:
skip_name_resolve=on(忽略名字解析,优化速度) - 在root/下创建.my.cnf文件,内容如下:
[client]
user=root
password=123456
host=localhost
保存退出,我们在使用本机连接数据库时无需输入用户名及密码
image 启用一个表对应一个独立文件 image 然后使用mysql命令连接数据库 image image
# vim /etc/my.cnf
DDL语句:
DDL:数据库定义语言
1.CREATE [krɪ'et]:创建数据库
2.DROP[drɑp]:删除数据库
3.ALTER['ɔltɚ]:修改数据库
DML:数据库处理语言
1.INSERT ['ɪnsɝt]:插入添加数据
2.DELETE [dɪ'lit]:删除表里内容
3.UPDATE[,ʌp'det]:更新数据
DCL:数据控制语言
1.GRANT[ɡrænt]:授权
2.REVOKE[rɪ'vok]:取消授权
DQL:数据查询语言
1.SELECT[sə'lɛkt]:查询
- 数据库操作: image
- 删除新建的数据库 image
- 查看支持的所有字符集 image
- 查看支持的所有排序规则 image
- 获取命令使用帮助 image
- 关系型数据库的常见组件
数据库:database
表:table
行:row
列:column
索引:index
视图:view
用户:user
权限:privilege
存储过程:procedure,过程无返回值
存储函数:function,过程有返回值
触发器:trigger
事件调度器:event scheduler,任务计划 - 查看系统自带的表 image
- 查看表的所有字段 image
- 由于表中的字段太多,我们可以挑一些字段来显示 image
- 显示默认引擎及列表 image
- 纵向显示 image
- 数据类型
1、整型
• tinyint(m)1个字节范围(-128~127)
• smallint(m)2个字节范围(-32768~32767)
• mediumint(m)3个字节范围(-8388608~8388607)
• int(m)4个字节范围(-2147483648~2147483647)
• bigint(m)8个字节范围(+-9.22*10的18次方)
2、浮点型(float和double),近似值
•float(m,d)单精度浮点型8位精度(4字节) m总个数,d小数位
•double(m,d)双精度浮点型16位精度(8字节) m总个数,d小数位
•设一个字段定义为float(6,3),如果插入一个数123.45678,实际数据库里存的是123.457,但总个数还以实际为准,即6位
3、定点数
•在数据库中存放的是精确值,存为十进制
4、字符串(char,varchar,_text)
•char(n)固定长度,最多255个字符
•varchar(n)可变长度,最多65535个字符
•tinytext可变长度,最多255个字符
•text可变长度,最多65535个字符
•mediumtext 可变长度,最多2的24次方-1个字符
•longtext可变长度,最多2的32次方-1个字符
•BINARY(M) 固定长度,可存二进制或字符,允许长度为0-M字节,
•VARBINARY(M) 可变长度,可存二进制或字符,允许长度为0-M字节
•内建类型:ENUM枚举, SET集合
5.二进制数据:BLOB
•BLOB和text存储方式不同,TEXT以文本方式存储,英文存储区分大小写,而Blob是以二进制方式存储,不分大小写
•BLOB存储的数据只能整体读出
•TEXT可以指定字符集,BLOB不用指定字符集
6.日期时间类型
•date日期'2008-12-2'
•time时间'12:25:36'
•datetime日期时间'2008-12-2 22:06:44'
•timestamp自动存储记录修改时间
•YEAR(2), YEAR(4):年份 - 修饰符
所有类型:
•NULL数据列可包含NULL值
•NOT NULL数据列不允许包含NULL值
•DEFAULT默认值
•PRIMARY KEY主键
•UNIQUE KEY 唯一键
•CHARACTER SET name指定一个字符集
数值型
•AUTO_INCREMENT自动递增,适用于整数类型
•UNSIGNED无符号 - 创建表及查看表结构 image
- 复合主键的创建写法(使用id,name作为复合主键) image
- 删除表 image
- 对表添加字段
image
注:也可以在那个字段前面添加,只需要把after改为first即可! 如果表中有数据的情况下,新添加一个字段就会出现空值,不建议添加
- 删除表中的字段 image
- 查看表的索引 image
- 添加索引 image
- 删除索引 image
- 索引是特殊数据结构;定义在查找时作为查找条件的字段
- 优点:提高查询速度
- 缺点:占用额外空间,影响插入速度
- 创建索引必须要有索引名称
- 创建索引: image
- 删除索引: image
DML语句:
- 数据的操作语言
INSERT增加数据内容
DELETE删除数据内容
UPDATE修改数据内容 - 查看表的内容: image
- 添加表内容: image image
- 添加多行内容: image
- 根据一张表创建另一张表;
image
注:emp表不存在
- 清空表的内容:
image
注:使用这条命令也可以清空表数据----->delete from emp:效率没有上图中的命令快,之所以效率慢是因为记录日志,为以后恢复数据有帮助
- 对一张新表插入内容:
image
注:这两张表的数据结构必须相同,且emp表必须存在
- 修改表的内容 image
- 修改多个字段内容: image
- 删除表里的内容: image
DQL语句
DQL:SELECT 查询
字段表示法:
*: 所有字段
as:字段别名,col1 AS alias1
- 根据条件显示内容使用where语句显示范围内的数据: image
- 根据字段排序【正序或倒序】 image
- 在排序的基础上,可以跳过几个显示几个! image
- LIKE:
%:任意长度的任意字符
_:任意单个字符;
RLIKE:正则表达式模式匹配
IS NULL ,IS NOT NULL
IN (val1,val2,…)
条件逻辑操作:
and,or,not
like:模糊查询 image rlike:正则表达式 image 添加指定字段内容 image image 指定名字显示: image - 我们这里有两张表,一张liebiao,一张emp,我们查找两张表id及名字相同的人 image image
用户账号
-
创建用户账号并授权可以登录数据库,但不具备管理权限
创建用户: image 测试: image
- 删除用户: image
- 修改密码 image
- 另一种修改方法,直接修改表数据
image
注意:上面修改表的命令不会马上生效,需执行FLUSH PRIVILEGES生效
授权
image
只有插入权限,没有删除跟修改的权限,想要有删改权限,只需要把select ,insert改为all即可!就可拥有所有权限
- 查看库中的所有表 image
- 回收权限 image
- 创建用户时就库中的表授权 image
网友评论