Mysql随手笔记

《MySQL 入门教程》第15篇MySQL常用函数之字符函数

文章来源:https://blog.csdn.net/horses/article/details/107487470 原文作者:不剪发的Tony老师 来源平台:CSDN 上一篇讨论了 MySQL 中常用的数学函数,本篇我们介绍常用的 MySQL 字符函数。 字符函数和运算符用于对字符串数据进行处理和分析并返回一个结果

复习方向

表的操作:增删改查、约束

索引的操作

视图的操作

触发器的操作

数据的操作

单表查询:简单,条件,排序,限制,统计函数,分组

多表查询

使用Mysql运算符

使用Mysql常用函数

表操作

创建表语法:

create table table_name(

属性名 数据类型

);

查看表结构:

->desc table_name;

修改表名:

->rename table old_table_name to new_table_name;

删除表名:

->drop table table_name;

增加字段

在表的最后一个位置增加字段:

->alter table table_name

add 属性名 属性类型;

在表的第一个位置增加字段:

->alter table table_name

Add 属性名 属性类型 first;

在表指定的位置增加字段:

->alter table table_name

Add 属性名 属性类型

After 属性名

删除字段

->alter table table_name

Drop 属性名;

修改字段

修改字段的数据类型:

->alter table table_name

Modify 属性名 数据类型

同时修改字段和数据类型:

->alter table table_name

Change 旧属性名 新属性名 新数据类型;

注:顺序可以通过first等来增加

表的约束

表的约束:

完整性:是指表的准确性和一致性。

数据库提供了约束的一种机制来确保数据的“准确性”,“唯一性”。

非空约束:NOT NULL

字段默认值:DEFAULT 默认值

唯一约束:UNIQUE KEY

主键约束:PRIMARY KEY (非空+唯一=主键)

字段自动添加:AUTO_INCREMENT

外键约束:FOREIGN KEY

索引的操作

类型:普通索引、全文索引、单列索引、多列索引和空间索引。

利:提高搜索查找速度

弊:占用磁盘空间

适用于:

·经常被查询的字段

不适用于:

·重复出现的字段

普通索引:不附加任何条件限制(唯一、非空等)

(1)语法:

create table table_name(

属性名 属性类型,

属性名 属性类型,

属性名 属性类型,

INDEX|KEY 【索引名】(属性名1 【(长度)】【ASC|DESC】));

(2)语法:

create index 索引名

on 表名(属性名【(长度)】 【ASC|DESC】);

(3)语法:

alter table table_name

add index|key 索引名(属性名【(长度)】 【ASC|DESC】);

使用INDEX或KEY指定索引名,长度指定索引的长度,ASC升序,DESC降序

唯一索引:限定索引的值必须是唯一的

(1)语法:

create table table_name (

属性名 数据类型,

属性名 数据类型,

属性名 数据类型,

UNIQUE INDEX|KEY 【索引名】(属性名1 【长度】【ASC|DESC】));

(2)语法:

create unique index 索引名

on 表名(属性名【(长度)】 【ASC|DESC】);

(3)语法:

alter table table_name

add unique index|key 索引名(属性名【(长度)】 【ASC|DESC】);

全文索引:只能在MyISAM创建,全文搜索,不区分大小写

(1)语法:

create table table_name (

属性名 数据类型,

属性名 数据类型,

属性名 数据类型,

FULLTEXT INDEX|KEY 【索引名】(属性名1 【长度】【ASC|DESC】));

(2)语法:

create FULLTEXT index 索引名

on 表名(属性名【(长度)】 【ASC|DESC】);

(3)语法:

alter table table_name

add FULLTEXT index|key 索引名(属性名【(长度)】 【ASC|DESC】);

单列索引:

多列索引:

(1)语法:

create table table_name(

属性名 属性类型,

属性名 属性类型,

属性名 属性类型,

INDEX|KEY 【索引名】(属性名1 【(长度)】【ASC|DESC】,

属性名n 【(长度)】【ASC|DESC】));

(2)语法:

create index 索引名

on 表名(属性名【(长度)】 【ASC|DESC】,

属性名n【(长度)】 【ASC|DESC】);

(3)语法:

alter table table_name

add index|key 索引名(属性名【(长度)】【ASC|DESC】,

属性名n【(长度)】【ASC|DESC】);

空间索引:

删除索引:

DROP index index_name

On table_name

校验索引是否被使用:explain select * from 表名 where 索引原属性名=1\G;

视图操作

视图:

视图简介:视图是一种虚拟表,视图表和真实表相似;视图不在数据库中以存储数据类型存在。

特点:

·视图的表可以来自不同的表。

·视图是由基本的实表产生的虚表

·对视图的内容更新影响到实表

·当视图来自多个实表是,不允许增加删除内容

创建视图:

语法:

create view view_name

AS 查询语句

例:

create view suoyin1

-> AS select name,age,sex

-> from suoyin1;

删除视图:

语法:

DROP VIEW view_name…;

触发器

触发器(TRIGGER):

自动执行的操作:

·delete

·insert

·update

创建触发器:

语法:

create trigger trigger_name

BEFORE|AFTER trigger_event

on table_name for each row trigger_stmt

删除触发器:

语法:

DROP trigger trigger_name

数据的操作

(1) 插入数据记录

语法:insert into table_name(field1,field2…fieldn)

Values(value1,value2…valuen),

Values(value1,value2…valuen);

注:field对应属性,value添加的数据。

例:

insert into student

values (901,’张老大’,’男’,1985,’计算机系’,’北京市海淀区’),

(902,’张老二’,’男’,1986,’中文系’,’北京市昌平区’),

(903,’张三’,’女’,1990,’中文系’,’湖南省永州市’),

(904,’李四’,’男’,1990,’英语系’,’辽宁省阜新市’),

(905,’王五’,’女’,1991,’英语系’,’福建省厦门市’),

(906,’王六’,’男’,1988,’计算机系’,’湖南省衡阳市’);

insert into score(Stu_id,C_name,Grade)

values (901,’计算机’,98),

(902,’英语’,80),

(902,’计算机’,65),

(902,’中文’,88),

(903,’中文’,95),

(904,’计算机’,70),

(904,’英语’,92),

(905,’英语’,94),

(906,’计算机’,90),

(906,’英语’,85);

insert into t_dept

values (1,’cjgongdept1′,’shangxi1′),

(2,’cjgongdept2′,’shangxi2′),

(3,’cjgongdept3′,’shangxi3′),

(4,’cjgongdept4′,’shangxi4′),

(5,’cjgongdept5′,’shangxi5′);

(2) 更新数据记录

语法:update table_name

Set field1 = value1,

Set field2 = value2,

Where 条件;

(3) 删除数据

语法:delete from table_name

Where 条件;

【云技术在线】为您提供以下专业技术服务:

上云服务:上云架构设计,大流量高并发架构设计,混合云架构设计,上云迁移,云上容灾,跨国云访问加速等;

安全服务:等保咨询及实施,渗透测试,漏洞扫描,木马查杀,安全加固,应急响应,DDOS/CC防护,勒索病毒防护,安全托管等;

运维服务:Linux系统运维,数据恢复及备份,负载均衡集群搭建及维护,数据库集群搭建及维护,网站运行环境搭建及维护,系统性能调优,中间件性能调优,数据库性能调优,数据库读写分离,分库分表,性能(压力)测试,7*24小时监控及故障应急响应,故障排查,大流量高并发活动护航等。