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