MySQL:SQL语法和常用命令函数

1 语法

1.1 MySQL的语法规范

(1)不区分大小写,建议关键字大写,表名,列名小写
(2)每条命令最好用分号结尾。
(3)每条命令根据需要,可以进行缩进或者换行。
(4)注释说明:
单行注释: #注释文字 或者 --注释文字
多行注释: /* 注释文字 */

1.2 SQL的语言分类

(1)DDL:(Data Define Language)数据定义语言。负责数据的模式定义与数据的物理存取构建。
CREATE:建表
DROP:删表
ALTER:更改表结构
TRUNCATE :删除表或者截断表 详解
DECLARE:创建游标

(2)DML:(Data Manipulate Language)数据操作语言。负责数据的操纵,包括增删改查等操作。
INSERT:插入数据行
UPDATE:修改更新数据
DELETE:删除数据行记录
SELECT:查询数据

(3)DCL:(Data Control Language)数据控制语言。负责数据的完整性、安全性的定义与检查以及并发控制、故障恢复等功能。一般建库时使用。
GRANT:授权
REVOKE:取消授权

(4)TCL:(Transation Control Language)事务控制语言。
COMMIT:提交事务,事务操作引起的变更写入硬盘
ROLLBACK:回滚,撤销事务中的SQL指令

2 基础命令和常用函数

2.1 MySQL的常用基础命令

(1)show databases;
查看所有数据库

(2)use 库名
打开指定的库

(3)show tables;
显示库中所有的表

(4)show tables from 库名
显示指定库中的所有表

(5)desc 表名
查看指定表的结构

(6)select version(); / mysql --version / mysql --V
查看服务器的版本,第一种种是登陆了服务器时的查询方式,第二种和第三种是未登录时的查询方式

2.2 SQL的常见函数

(1)字符函数
concat():拼接
substr():截取字符串
upper():转换成大写
lower():转换成小写
trim():去除前后指定的空格和字符
ltrim():去除坐标的空格
rtrim():去除右边的空格
replace():替换
lpad():左填充
rpad():右填充
instr():返回字符串第一次出现的索引
length():获取长度,单位字节数
char_length():获取长度,单位字符数

(2)数学函数
round():四舍五入
rand():随机数
floor():向下取整
ceil():向上取整
mod():取余
truncate():截断

(3)日期函数
now():当前系统日期和时刻
curdate():当前系统日期
curtime():当前系统时刻
str_to_date():将字符装换成日期
date_format():将日期转换成字符

SOL全部日期函数

(4)其他函数
version():版本
database():当前库
user():当前用户

(5)分组函数(聚合函数)
sum():求和
max():最大值
min():最小值
avg():平均值
count():计数

特点:
1、以上五个分组函数都忽略null值,除了count(星号)。
2、sum和avg一般用于处理数值型,max、min、count可以处理任何数据类型。
3、都可以搭配distinct使用,用于统计去重后的结果。
4、count的参数可以支持: 字段、星号、常量值,一般放键名。

2.3 SQL针对库的增删改查

(1)创建库
create database db1;
create database db2 charset=‘utf8’;

(2) 查
show databases; # 查所有库
show create database db1; # 查单个库

(3) 改
alter database db2 charset=‘utf8’;

(4) 删
drop database db2;

2.4 SQL针对表的增删改查

(1)创建表

创建表的完整语法
create table 表名(
字段名1 字段类型(宽度) 约束条件,
字段名2 字段类型(宽度) 约束条件,
字段名3 字段类型(宽度) 约束条件
【foreign key(外键字段名) references 关联表(该表主键字段名) 】
【on update cascade # 同步更新】
【on delete cascade # 同步删除】
)

注意:
1 宽度和约束条件是可选的,字段名和字段类型是必须的。
2 约束条件可以同时多个,也可以一个都不要。
3 最后一个字段后面不能加逗号。

create table t1(id int,name char(4)); #需要先切换库下
create table db2.t1(id int); --也可以用绝对路径的形式操作不同的库

(2)查
show tables; --查看当前库下面所有的表名
show create table t1; #查看表的创建指令
describe t1; #支持简写 desc t1; 查看表结构

(3) 改
alter table t1 modify name char(16);

(4) 删
drop table t1;

2.5 SQL针对数据的增删改查

(1)增
insert into t1 values(1,‘jason’);
insert into t1 values(1,‘jason’),(2,‘egon’),(3,‘tank’);

(2)查
select * from t1; #该命令当数据量特别大的时候不建议使用
select name from t1;

(3)改
update t1 set name=‘DSB’ where id > 1;

(4)删
delete from t1 where id > 1;
delete from t1 where name=‘jason’;

(5)将表所有的数据清空
delete from t1;
truncate table t1; #或者truncate t1;
drop、delete与truncate区别

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值