MariaDB基本命令
阅读原文时间:2023年07月11日阅读:1

--查看当前日期
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类:

  1. 整数: bit / bool / tinyint / smallint / mediumint / int / bitint
  2. 浮点数: float / double / decimal
  3. 字符串: char / varchar / tinytext / text / mediumtext / longtext
  4. BLOB(Binary Large Object): tinyblob / blob / mediumblob / longblob
  5. 日期: date(2018-9-6) / time (03:33:49) / datetime(2018-9-6 03:34:08) / timestamp
  6. 其他: 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、不要相信自已的直觉,因为在直觉上感觉不会变的东西,往往都是经不起实践考验的。