mariaDB语句详解
来源:互联网 发布:大同集宁之战 知乎 编辑:程序博客网 时间:2024/06/05 00:32
- 设计范式
- 字段约束
- SQL
- DDLCREATEDROPALTER
- 查看支持的字符集
- 查看排序规则
- 建库
- 删库
- 查看建表帮助语句
- 查看表状态
- 查看数据库支持的引擎
- 建表
- 删表
- 改表和字段
- alter 改字符集属性
- change 改名
- modify 改表定义和排序
- DMLINSERTREPLACEDELETEUPDATESELECT
- 查询语句
- like
- rlike
- NOT RLIKE
- REGEXP
- NOT REGEXP
- delete
- update
- 查询语句
- DCLGRANTREVOKE
- DDLCREATEDROPALTER
- 索引
- 添加索引
- 删除索引
- 显示索引
- 存储类型
- 数据类型
- 字符
- 变长字符
- 定长字符
- 内建类型
- 对象
- 日期时间
- 数字
- 精确数值
- 近似数值
- 字符
设计范式
- 第一范式:字段原子性(不可分割,只能包含一个独立属性)
- 第二范式:存在可用主键(不允许任意两行完全相同)
- 第三范式:任何表都不应该有依赖于其他表非主键的字段
字段约束
- 主键
- 唯一键
- 外键(innodb支持)
- 检查性约束(不支持)
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 selectSELECT [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==
数据类型
字符
变长字符
- varchar(255)
- varbinary
定长字符
- char(255)
==非空标记需要占据一个字节,VARCHAR超过255需要用2个字节标记字段长度,不超过255用1个字节标记字段长度.==
内建类型
- enum(65535)
- set(0-64)
对象
- text(65535) 不区分大小写
- tinytext(255)
- mediatext(16777215)一个字符1byte,即16777215bite=16M
- longtext(4294967295) 4G
- blob(65535) 二进制 区分大小写
- tinyblob(255)
- longblob(4294967295)
日期时间
- date
- time
- timestamp
- datetime
- year(2|4)
数字
精确数值
- 整型int
tinyint(3),smallint(3),- int(10),mediumint(8),bigint(20)
- 十进制 decimal
近似数值
1.单精度:float
2. 双精度:double
- mariaDB语句详解
- mysql(mariadb)语句
- MariaDB SQL语句基础
- MariaDB主从配置详解
- MariaDB缓冲区详解
- MariaDB命令详解
- CentOS6.5下MariaDB日志及事物详解和基本操作语句
- CentOS6.5下MariaDB日志及事物详解和基本操作语句
- 翻译:MariaDB ALTER TABLE语句
- mariaDB
- MariaDB
- MariaDB
- mariaDB
- Mariadb
- mariadb
- mariadb
- mariadb
- Mariadb
- 2017 计蒜之道 初赛 第五场 A. UCloud 机房的网络搭建
- Ubuntu下安装R,升级R版本,安装Rstudio,安装Rstudio Server以及安装Shiny Server
- C语言--模拟栈(使用链表)
- TCP长连接,短链接,双工,单工
- Python入门教程(更新中,日期:20170710)
- mariaDB语句详解
- 瀑布流分页数据去重问题
- 单点登录原理与简单实现
- eclipse(2)------Attribute "xmlns" was already specified for element "web-app"
- LeetCode (Binary Tree Zigzag Level Order Traversal)
- 史上最简单的 MySQL 教程(二十一)「数据的高级操作 之 蠕虫复制」
- Linux C 整理-1
- js 选项卡切换
- SpringMvc Servlet 继承结构