MariaDB基本命令
--查看当前日期
select current_date();
--查看当前时间
select current_time();
--查看当前日期、时间
select now();
--查看当前用户
select user();
--验证当前客户端用户
select current_user();
--查看创建表结构的语法
show create table tab_name;
--删除表
drop table tab_name;
--删除数据库
drop database database_name;
--查看当前数据库里所有的表
show tables; --查询所有数据库
show databases;
--使用某一个数据库
use database_name --改变结束符号
delimiter // --使用储存过程
create procedure numx(x int )
begin
set @x=0;
set @sum=0;
repeat
set @x=@x+1;
set @sum=@sum+@x;
until @x=x end repeat;
end
create procedure addx(x int)
begin
set @x=0;
set @sum=1;
repeat
set @x=@x+1;
if @x%3=0 && @x%9!=0 then
set @sum = @x*@sum;
end if;
until @x=x end repeat;
end
--调用存储过程
call numx(100);
--删除存储过程
drop procedure numx; --创一个表(主键,外键,约束,默认,自增长)
create table demo1(
demo1_id int auto_increment primary key,
demo1_name varchar(10) not null
)
create table demo(
demo_id int auto_increment primary key,--主键、自增长
demo_name varchar(20) not null,
demo_price float check ( price >= 0 ),
publish_at datetime,
created_at datestamp,
fk_id int foreign key references demo1(demo1_id)--外键设置
)
上面的语法可以使用,
但是从实际情况去考虑,(主外键的设置)应该这么做 主键建立:
alter table demo
add constraint pk_demo_id(这里是约束名) primary key demo(demo_id)
如果需要删除的话,语法如下
alert table demo
drop constraint pk_demo_id(这里是约束名哦)
外键建立
alter table demo
add constraint demo_fk_id(这里是约束名)
foreign key(fk_id) references demo1(demo1_id)
如果需要删除的话,语法如下
alert table demo
drop foreign key demo_fk_id(这里是约束名哦)
数据类型:
大致分为6类:
- 整数: bit / bool / tinyint / smallint / mediumint / int / bitint
- 浮点数: float / double / decimal
- 字符串: char / varchar / tinytext / text / mediumtext / longtext
- BLOB(Binary Large Object): tinyblob / blob / mediumblob / longblob
- 日期: date(2018-9-6) / time (03:33:49) / datetime(2018-9-6 03:34:08) / timestamp
- 其他: binary / varbinary / enum / set / geometry / point / LineString …
小提示:
char(n) 和 varchar(n)中间的n代表字符的个数,不是字节的个数哦。
char()是固定长度,varchar()是可变长度,
比如: 存储 字符 “abc” 对于char(10)就相当存储了三个字符(abc)和7个空格字符,而对于varchar(10)就是存储了三个字符(abc) 它是按照内容的实际长度来存储的。
varchar最大长度:
根据字符集,字符类型若为gbk,每一个字符占用2个字节,最大长度不能超过32766
字符类型若为utf8,每个字符最多占用3个字节,最大长度不能超过21845,
超过这个限制的话,会自动将类型转得更大一些的字符类型。
主键.primary key 从性能和实际出发,应该遵循下面几点:
1、尽量短,避免占用太多空间
2、唯一,不能跟其他行的数据重复
3、不会改变
4、代理建
所谓 -代理建- 是指跟业务无关的字段:
1、因为和业务无关,所以可以使用int等类型尽量短
2、因为和业务无关,所以可以避免因为业务变动引起的主键变化
3、不要相信自已的直觉,因为在直觉上感觉不会变的东西,往往都是经不起实践考验的。
MariaDB基本命令的更多相关文章
- Linux下python3、virtualenv、Mysql、redis安装配置
一.在Linux安装python解释器 1.下载python3源码包 cd /opt/ wget https://www.python.org/ftp/python/3.6.2/Python-3.6. ...
- mysql/mariadb学习记录——创建删除数据库、表的基本命令
查看已有的数据库: mysql> show databases; +--------------------+ | Database | +--------------------+ | inf ...
- Mysql的基础使用之MariaDB安装
初学mysql的小白,首次写博客,为了能让自己记得更加深刻,也是以一种小白的角度交代初学者的经历和困难,也算是记录自己成长的步伐吧 我首次用mysql是在ubuntu上 ,现在用的是linux 中的R ...
- 关于数据库管理系统DBMS--关系型数据库(MySQL/MariaDB)
数据库的结构(3种):层次,网状,关系型(用的最多): DBMS的三层模型: 视图层:面向最终用户: 逻辑层:面向程序员或DBA: 物理层:面向系统管理员: 关系型数据库管理系统——RDBMS: 主要 ...
- Linux-基础学习(五)-mariadb主从复制以及redis学习
开始今日份整理 1.mariadb的主从复制 主从复制大致图示: 1.1 mysql基本命令复习 linux下的操作 .启动mysql systemctl start mariadb .linux客户 ...
- Mariadb主从复制
前戏: mysql的基本命令复习 .启动mysql systemctl start mariadb .linux客户端连接自己 mysql -uroot -p -h 127.0.0.1 .远程链接my ...
- linux --mariadb/redis数据库篇
mariadb ---磁盘型数据库 基础安装 配置好yum源后,软件就可以通过配置的yum源进行安装,按理来讲安装mysql直接通过 yum install mariadb -y 便可安装,但 ...
- Linux(5)- MariaDB、mysql主从复制、初识redis
一.MYSQL(mariadb) MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可. 开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL ...
- Linux--5 mariadb和redis的安装
一.MYSQL(mariadb) MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可. 开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL ...
随机推荐
- CWMP开源代码研究——git代码工程
原创作品,转载请注明出处,严禁非法转载.如有错误,请留言! email:40879506@qq.com 声明:本系列涉及的开源程序代码学习和研究,严禁用于商业目的. 如有任何问题,欢迎和我交流.(企鹅 ...
- 「java.util.concurrent并发包」之 ReentrantReadWriteLock
一 引言 在多线程的环境下,对同一份数据进行读写,会涉及到线程安全的问题.比如在一个线程读取数据的时候,另外一个线程在写数据,而导致前后数据的不一致性:一个线程在写数据的时候,另一个线程也在写,同样也 ...
- ubuntu切换root用户
方法一:sudo su命令 方法二:sudo -i 方法三:su root
- CA机构及SSL证书
互联网安全形势日趋严峻,企业重视自身互联网安全已成必然,SSL认证成大势所趋.要部署SSL证书最首先就是选好CA机构!其次选择适合自己的SSL证书!今天就来介绍一下如何选择CA机构及SSL证书! 首先 ...
- 15-Perl 格式化输出
1.Perl 格式化输出Perl 是一个非常强大的文本数据处理语言.Perl 中可以使用 format 来定义一个模板,然后使用 write 按指定模板输出数据.Perl 格式化定义语法格式如下:fo ...
- 《深入实践C++模板编程》之三——模板参数类型详解
非类型模板参数 和 模板型模板参数 整数以及枚举类型:指向对象或者函数的指针:对对象或函数的引用:指向对象成员的指针.统称为非类型模板参数. 模板型模板参数,是指模板参数还可以是一个模板. 1.整 ...
- ASP.NET使用AJAX应注意IIS有没有.ashx扩展
项目添加引用AJAX.DLL了:今天将本地做好的一个web程序放到服务器上,居然报告错误了.web程序使用了ajax来往返数据. 检查生成的html语句,有这么两句代码<script type= ...
- 你不知道的css各类布局(二)之流体布局、液体布局、栅格布局
流体布局 什么是流 在谈论流体布局之前我们需要知道一件事情就是何为“流”,所谓“流”就是“文档流”,是css中的一种基本定位和布局 概念 流体布局(Liquid/Fluid Layout)指的是利用元 ...
- Java学习 面向对象(下)——Java疯狂讲义th4
面向对象(下) [TOC] 包装类 通过包装类可以把8个基本类型的值包装成对象使用. 自动拆箱.自动装箱 把字符串类型值转换成基本类型的值: 包装类的 parseXxx(String s)静态方法 包 ...
- 前段js实时判断会话是否超时
前端自行判断页面是否超时 jsp从后台获取到回话时间var sessionTime="${sessionTime}"; js中 //实时判断会话是否超时 var lastSessi ...