SQL基础知识

本文介绍了SQL中常用的基础函数,如字符串操作、日期时间处理、数值计算以及数据定义语言的各个方面,包括数据库创建、表结构管理、索引和约束的使用,以及事务和权限控制的相关知识。
摘要由CSDN通过智能技术生成
函数
#left() right() 左边或者右边的字符
#lower() upper() 转换成大写或小写的字符
#ltrim() rtrim() 去除左边或者右边的字符
#length() 长度,一字节为单位
#soundex() 转换为语音值
select * from student where soundex(coll) = soundex('hello');
日期和时间处理
  1. 日期格式:YYYY-MM-DD
  2. 时间格式:HH:MM:SS
AddDate()增加一个日期(天、周等)
AddTime()增加一个时间(时、分等)
CurDate()返回当前日期
CurTime()返回当前时间
Date()返回日期时间的日期部分
DateDiff()计算两个日期之差
Date_Add()高度灵活的日期运算函数
Date_Format()返回一个格式化的日期或时间串
Day()返回一个日期的天数部分
DayOfWeek()对于一个日期,返回对应的星期几
Hour()返回一个时间的小时部分
Minute()返回一个时间的分钟部分
Month()返回一个日期的月份部分
Now()返回当前日期和时间
Second()返回一个时间的秒部分
Time()返回一个日期时间的时间部分
Year()返回一个日期的年份部分
数值处理
函数说明
SIN()正弦
COS()余弦
TAN()正切
ABS()绝对值
SQRT()平方根
MOD()余数
EXP()指数
PI()圆周率
RAND()随机数
汇总
函 数说 明
AVG()返回某列的平均值
COUNT()返回某列的行数
MAX()返回某列的最大值
MIN()返回某列的最小值
SUM()返回某列值之和
#distinct 聚合函数去重
select avg(distinct(coll)) as avf_coll from student;
数据定义语言

数据库

#创建数据库
create database student;
create database student if exists;
#删除数据库
drop database student;
drop database studnet if exists;
#选择数据库
user student;

数据表

#创建表
create table student(
	id int(10) unsigned not null comment 'id',
    name varchar(64) not null default 'default' comment '名称',
    tender tinyint(1) not null default 0 comment '性别',
    age tinyint(3) not null default 0 comment '年龄'
);
#根据已有表创建新表
create table student_two as select * from student;
#删除表
drop table student;

#修改数据表
#添加列
alter table student add score int(3);
#删除列
alter table student drop column score;
#修改列
alter table student modify column score int(3);
#添加主键
alter table student add primary key (id);
#删除主键
alter table student drop primary key;
索引
#创建索引
create index student_index on student(id);
#添加索引
alter table student add index student(id);
#创建唯一索引
create unique index student_id on student(id);
#删除索引
alter table student drop index student_id;
约束

约束类型:

  • NOT NULL - 指示某列不能存储 NULL 值。
  • UNIQUE - 保证某列的每行必须有唯一的值。
  • PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
  • FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。
  • CHECK - 保证列中的值符合指定的条件。
  • DEFAULT - 规定没有给列赋值时的默认值。
create users(
	id int(10) unsigned not null auto_increasement comment '自增id',
    username varchar(64) not null unique default 'default' comment '用户名',
    password varchar(64) not null default 'default' comment '密码',
    enable tinyint(4) default null comment '是否有效',
    primary key(id)
)engine=innodb auto_increasement=2 default charset=utf8mb4 comment = '用户表';
事务
#开启事务
start transaction;
#插入A
insert into user values(1,'root','root');
#创建保留点
savepoint updateA;
#插入数据B
insert into user values(2,'root2','root2');
#回滚到保留点
rollback to updateA;
#提交事务
commit;

权限

#创建用户
create user jesse identified by 'password'; 
#修改用户名
update user set user='jesse' where user='jesse';
flush privileges;
#删除用户
drop user jesse;
#查看权限
show grants for jesse;
#授予权限
grant insert,select on *.* to jesse;
#删除权限
revoke insert,select on *.* from jesse;
#更改密码
set password for jesse = 'password';
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值