欢迎投稿

今日深度:

mariaDB语句详解,mariadb语句

mariaDB语句详解,mariadb语句


  • 设计范式
  • 字段约束
  • SQL
    • DDLCREATEDROPALTER
      • 查看支持的字符集
      • 查看排序规则
      • 建库
      • 删库
      • 查看建表帮助语句
      • 查看表状态
      • 查看数据库支持的引擎
      • 建表
      • 删表
      • 改表和字段
        • alter 改字符集属性
        • change 改名
        • modify 改表定义和排序
    • DMLINSERTREPLACEDELETEUPDATESELECT
      • 查询语句
        • like
        • rlike
        • NOT RLIKE
        • REGEXP
        • NOT REGEXP
      • delete
      • update
    • DCLGRANTREVOKE
  • 索引
    • 添加索引
    • 删除索引
    • 显示索引
  • 存储类型
  • 数据类型
    •  字符
      • 变长字符
      • 定长字符
      • 内建类型
      • 对象
      • 日期时间
    • 数字
      • 精确数值
      •  近似数值

设计范式

字段约束

SQL

DDL:CREATE,DROP,ALTER

1. 查看支持的字符集

show character set;

2. 查看排序规则

show collations;

3. 建库

create database [if not exists] 'db_name' character set [=] charset collate [=] collate

4.删库

drop database [if exists] 'db_name'

5.查看建表帮助语句

help create table;
show create atble 'table_name'(建表语句)

6.查看表状态

show table status like 'table_name'\G

7. 查看数据库支持的引擎

show engines;

8. 建表

CREATE TABLE [if not exists]  `payment` (
  `payment_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
  `customer_id` smallint(5) unsigned NOT NULL,
  `staff_id` tinyint(3) unsigned NOT NULL,
  `rental_id` int(11) DEFAULT NULL,
  `amount` decimal(5,2) NOT NULL,
  `payment_date` datetime NOT NULL,
  `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`payment_id`),
  KEY `idx_fk_staff_id` (`staff_id`),
  KEY `idx_fk_customer_id` (`customer_id`),
  KEY `fk_payment_rental` (`rental_id`),
  CONSTRAINT `fk_payment_customer` FOREIGN KEY (`customer_id`) REFERENCES `customer` (`customer_id`) ON UPDATE CASCADE,
  CONSTRAINT `fk_payment_rental` FOREIGN KEY (`rental_id`) REFERENCES `rental` (`rental_id`) ON DELETE SET NULL ON UPDATE CASCADE,
  CONSTRAINT `fk_payment_staff` FOREIGN KEY (`staff_id`) REFERENCES `staff` (`staff_id`) ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=16050 DEFAULT CHARSET=utf8 COMMENT='这里是表注释'

9. 删表

drop [if exists] 'tbl_name'

==严重禁止业务高峰期drop/alter table,drop table最好先truncate table,减少hung时间==

10. 改表和字段

alter 改字符集属性

change 改名

modify 改表定义和排序

  • 改表名
    ALTER TABLE 【表名字】 RENAME 【表新名字】

  • 改列名
    ALTER TABLE 【表名字】 CHANGE 【列名称】【新列名称】 BIGINT NOT NULL COMMENT ‘注释说明’

  • 删除列
    ALTER TABLE 【表名字】 DROP 【列名称】

  • 增加列
    ALTER TABLE 【表名字】 ADD 【列名称】 INT NOT NULL COMMENT ‘注释说明’

  • 修改列的类型信息
    ALTER TABLE 【表名字】 CHANGE 【列名称】【新列名称(这里可以用和原来列同名即可)】 BIGINT NOT NULL COMMENT ‘注释说明’

  • 添加主键ALTER TABLE sj_resource_charges ADD CONSTRAINT PK_SJ_RESOURCE_CHARGES PRIMARY KEY (resid,resfromid)

  • 删除表中主键Alter TABLE 【表名字】 drop primary key

  • 添加索引
    ALTER TABLE tb_name add index INDEX_NAME (name);
    CREATE INDEX index_name ON tbl_name(feld1,field2…)

  • 添加唯一限制条件索引
    ALTER TABLE tb_name add unique emp_name2(cardnumber);

  • 删除索引
    alter table tablename drop index emp_name;
    DROP INDEX index_name ON tbl_name;

show indexs from []db_name.]tbl_name

12.显示创建索引帮助

help create index

DML:INSERT(REPLACE),DELETE,UPDATE,SELECT

1. 查询语句

help select
SELECT
    [ALL | DISTINCT | DISTINCTROW ]
      [HIGH_PRIORITY]
      [STRAIGHT_JOIN]
      [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
      [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
    select_expr [, select_expr ...]
    [FROM table_references
    [WHERE where_condition]
    [GROUP BY {col_name | expr | position}
      [ASC | DESC], ... [WITH ROLLUP]]
    [HAVING where_condition]
    [ORDER BY {col_name | expr | position}
      [ASC | DESC], ...]
    [LIMIT {[offset,] row_count | row_count OFFSET offset}]
    [PROCEDURE procedure_name(argument_list)]
    [INTO OUTFILE 'file_name'
        [CHARACTER SET charset_name]
        export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name]]
    [FOR UPDATE | LOCK IN SHARE MODE]]

like

rlike

NOT RLIKE

REGEXP

NOT REGEXP

==like要求整个数据都要匹配,而REGEXP只需要部分匹配即可。
也就是说,用Like,必须这个字段的所有内容满足条件,而REGEXP只需要有任何一个片段满足即可==

2. delete

delete from tbl_name [where clause] [LIMIT [m,]n]

3. update

update tbl_name set col1=new_val1,col2=-new_val2,...[where clause][order by `col_name` [desc]] [limit [m,n]]

DCL:GRANT,REVOKE

1.

索引

特殊的数据结构(最左前缀),可以有名称,不定义默认为字段名

添加索引

ALTER TABLE tb_name add index INDEX_NAME (name);
CREATE INDEX index_name ON tbl_name(feld1,field2...)

删除索引

DROP INDEX index_name ON tbl_name;
alter table tablename drop index emp_name;

显示索引

show indexs from []db_name.]tbl_name

存储类型

数据存储是以“字节”(Byte)为单位,数据传输是以大多是以“位”(bit,又名“比特”)为单位,一个位就代表一个0或1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B),是最小一级的信息单位
==1B=1byte(字节)=8bit==

==1kb=1024byte==

数据类型 储存空间大小(单位:字节) 范围
Byte(字节型) 1 0 - 2^(1*8)
tinyint 1 无符号:2^(1*8),有符号:-2^(1*4) ~ 2^(1*8)-1(减去1是因为符号位占用)
smallint 2 2^(2*8)
mediaint 3 2^(3*8)
int(整数型) 4 2^(4*8)
bigint(整数型) 8 2^(8*8)
decimal 每个字符占一个字节 当做字符存储

数据类型

 字符

变长字符

定长字符

==非空标记需要占据一个字节,VARCHAR超过255需要用2个字节标记字段长度,不超过255用1个字节标记字段长度.==

内建类型

对象

日期时间

数字

精确数值

 近似数值

1.单精度:float
2. 双精度:double

www.htsjk.Com true http://www.htsjk.com/mariadb/26995.html NewsArticle mariaDB语句详解,mariadb语句 设计范式 字段约束 SQL DDLCREATEDROPALTER 查看支持的字符集 查看排序规则 建库 删库 查看建表帮助语句 查看表状态 查看数据库支持的引擎 建表 删表 改表和字段...
相关文章
    暂无相关文章
评论暂时关闭