当前位置: 首页 > news >正文

云南省火电建设公司网站深圳网络广告推广公司

云南省火电建设公司网站,深圳网络广告推广公司,佛山网络公司哪个好,遵义外国网站制作目录通用语法及分类DCL(数据控制语言)管理用户查询用户权限控制函数字符串函数数值函数日期函数流程函数约束外键约束多表查询一对多多对多一对一通用语法及分类 ● DDL: 数据定义语言,用来定义数据库对象(数据库、表、字段&…

目录

  • 通用语法及分类
  • DCL(数据控制语言)
    • 管理用户
      • 查询用户
    • 权限控制
    • 函数
      • 字符串函数
      • 数值函数
      • 日期函数
      • 流程函数
    • 约束
      • 外键约束
    • 多表查询
      • 一对多
      • 多对多
      • 一对一

通用语法及分类

● DDL: 数据定义语言,用来定义数据库对象(数据库、表、字段)
● DML: 数据操作语言,用来对数据库表中的数据进行增删改
● DQL: 数据查询语言,用来查询数据库中表的记录
● DCL: 数据控制语言,用来创建数据库用户、控制数据库的控制权限

DCL(数据控制语言)

管理用户

查询用户

USER mysql;
SELECT * FROM user;
创建用户:
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
修改用户密码:
ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码';
删除用户:
DROP USER '用户名'@'主机名';

例子:

-- 创建用户test,只能在当前主机localhost访问
create user 'test'@'localhost' identified by '123456';-- 创建用户test,能在任意主机访问
create user 'test'@'%' identified by '123456';
create user 'test' identified by '123456';-- 修改密码
alter user 'test'@'localhost' identified with mysql_native_password by '1234';-- 删除用户
drop user 'test'@'localhost';

注意事项

● 主机名可以使用 % 通配

权限控制

常用权限

权限	说明
ALL, ALL PRIVILEGES	所有权限
SELECT	查询数据
INSERT	插入数据
UPDATE	修改数据
DELETE	删除数据
ALTER	修改表
DROP	删除数据库//视图
CREATE	创建数据库/

查询权限:
SHOW GRANTS FOR '用户名'@'主机名';

授予权限:
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';

撤销权限:
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';

注意事项

● 多个权限用逗号分隔
● 授权时,数据库名和表名可以用 * 进行通配,代表所有

函数

  • 字符串函数
  • 数值函数
  • 日期函数
  • 流程函数

字符串函数

常用函数:

函数	功能
CONCAT(s1, s2, ..., sn)	字符串拼接,将s1, s2, ..., sn拼接成一个字符串
LOWER(str)	将字符串全部转为小写
UPPER(str)	将字符串全部转为大写
LPAD(str, n, pad)	左填充,用字符串pad对str的左边进行填充,达到n个字符串长度
RPAD(str, n, pad)	右填充,用字符串pad对str的右边进行填充,达到n个字符串长度
TRIM(str)	去掉字符串头部和尾部的空格
SUBSTRING(str, start, len)	返回从字符串str从start位置起的len个长度的字符串

使用示例:

-- 拼接
SELECT CONCAT('Hello', 'World');-- 小写
SELECT LOWER('Hello');
-- 大写
SELECT UPPER('Hello');
-- 左填充
SELECT LPAD('01', 5, '-');
-- 右填充
SELECT RPAD('01', 5, '-');
-- 去除空格
SELECT TRIM(' Hello World ');
-- 切片(起始索引为1)
SELECT SUBSTRING('Hello World', 1, 5);

数值函数

常见函数:

函数	功能
CEIL(x)	向上取整
FLOOR(x)	向下取整
MOD(x, y)	返回x/y的模
RAND()	返回0~1内的随机数
ROUND(x, y)	求参数x的四舍五入值,保留y位小数

日期函数

常用函数:

函数	功能
CURDATE()	返回当前日期
CURTIME()	返回当前时间
NOW()	返回当前日期和时间
YEAR(date)	获取指定date的年份
MONTH(date)	获取指定date的月份
DAY(date)	获取指定date的日期
DATE_ADD(date, INTERVAL expr type)	返回一个日期/时间值加上一个时间间隔expr后的时间值
DATEDIFF(date1, date2)	返回起始时间date1和结束时间date2之间的天数

例子:

-- DATE_ADD
SELECT DATE_ADD(NOW(), INTERVAL 70 YEAR);

流程函数

常用函数:

函数	功能
IF(value, t, f)	如果valuetrue,则返回t,否则返回f
IFNULL(value1, value2)	如果value1不为空,返回value1,否则返回value2
CASE WHEN [ val1 ] THEN [ res1 ] ... ELSE [ default ] END	如果val1为true,返回res1,... 否则返回default默认值
CASE [ expr ] WHEN [ val1 ] THEN [ res1 ] ... ELSE [ default ] END	如果expr的值等于val1,返回res1,... 否则返回default默认值

例子:

selectname,(case when age > 30 then '中年' else '青年' end)
from employee;
selectname,(case workaddress when '北京市' then '一线城市' when '上海市' then '一线城市' else '二线城市' end) as '工作地址'
from employee;

约束

分类:

约束	描述	关键字
非空约束	限制该字段的数据不能为null	NOT NULL
唯一约束	保证该字段的所有数据都是唯一、不重复的	UNIQUE
主键约束	主键是一行数据的唯一标识,要求非空且唯一	PRIMARY KEY
默认约束	保存数据时,如果未指定该字段的值,则采用默认值	DEFAULT
检查约束(8.0.1版本后)	保证字段值满足某一个条件	CHECK
外键约束	用来让两张图的数据之间建立连接,保证数据的一致性和完整性	FOREIGN KEY

约束是作用于表中字段上的,可以再创建表/修改表的时候添加约束。

常用约束

约束条件	关键字
主键	PRIMARY KEY
自动增长	AUTO_INCREMENT
不为空	NOT NULL
唯一	UNIQUE
逻辑条件	CHECK
默认值	DEFAULT

例子:

create table user(id int primary key auto_increment,name varchar(10) not null unique,age int check(age > 0 and age < 120),status char(1) default '1',gender char(1)
);

外键约束

添加外键:

CREATE TABLE 表名(字段名 字段类型,...[CONSTRAINT] [外键名称] FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名)
);
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段名) REFERENCES 主表(主表列名);
-- 例子
alter table emp add constraint fk_emp_dept_id foreign key(dept_id) references dept(id);-- 删除外键:
ALTER TABLE 表名 DROP FOREIGN KEY 外键名;

删除/更新行为

行为	说明
NO ACTION	当在父表中删除/更新对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除/更新(与RESTRICT一致)
RESTRICT	当在父表中删除/更新对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除/更新(与NO ACTION一致)
CASCADE	当在父表中删除/更新对应记录时,首先检查该记录是否有对应外键,如果有则也删除/更新外键在子表中的记录
SET NULL	当在父表中删除/更新对应记录时,首先检查该记录是否有对应外键,如果有则设置子表中该外键值为null(要求该外键允许为nullSET DEFAULT	父表有变更时,子表将外键设为一个默认值(Innodb不支持)

更改删除/更新行为:

ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段) REFERENCES 主表名(主表字段名) ON UPDATE 行为 ON DELETE 行为;

多表查询

多表关系

  • 一对多(多对一)
  • 多对多
  • 一对一

一对多

案例:部门与员工
关系:一个部门对应多个员工,一个员工对应一个部门
实现:在多的一方建立外键,指向一的一方的主键

多对多

案例:学生与课程
关系:一个学生可以选多门课程,一门课程也可以供多个学生选修
实现:建立第三张中间表,中间表至少包含两个外键,分别关联两方主键

一对一

案例:用户与用户详情
关系:一对一关系,多用于单表拆分,将一张表的基础字段放在一张表中,其他详情字段放在另一张表中,以提升操作效率
实现:在任意一方加入外键,关联另外一方的主键,并且设置外键为唯一的(UNIQUE)

希望对正在查看文章的您有所帮助,记得关注、评论、收藏,谢谢您

http://www.yidumall.com/news/1151.html

相关文章:

  • 北京专业网站建设网站百度快照优化排名
  • 动态网站开发期末考试题谷歌搜索引擎免费入口镜像
  • 网站建设如何测试2022十大热点事件及评析
  • 团员登录系统智慧团建合肥网站优化平台
  • .net网站吃内存设计模板网站
  • 推进门户网站建设工作会议上海搜索引擎优化seo
  • php怎么做网站快汽车软文广告
  • 珠海建站联系方式个人如何注册网站
  • 濮阳网站怎么做seo软文经典案例
  • 家政服务公司网站建设方案策划书郑州品牌网站建设
  • 自适应网站推广福州百度代理
  • 深圳 网站建设 销售想要网站推广版
  • 郑州威盟网站建设公司怎么样新浪网今日乌鲁木齐新闻
  • 网站新闻详细页面设计app拉新推广平台
  • 装修设计效果图网站网站友情链接的作用
  • 山东省城乡住房和建设厅网站百度推广怎么添加关键词
  • 北京好的网站开发app推广方式
  • 广州营销型网站建设公司代发百度首页排名
  • asp.net 音乐网站开发微信小程序开发多少钱
  • 做网站在手机显示怎么很乱企业网页
  • 用c 做网站和数据库方法盐城seo营销
  • 好的做问卷调查的网站好河南关键词优化搜索
  • wordpress复制网站模板百度关键词快速优化
  • 为朋友做的网站西地那非片多少钱一盒
  • 吴江网站建设seo服务公司怎么收费
  • rp做网站原型要缩小尺寸吗上海网站排名优化
  • 在线做公章网站外贸公司如何做推广
  • 做图片的网站都有哪些软广告经典例子
  • 公司做网站怎么构思今日新闻头条新闻
  • 电子商务网站建设评价拉新推广怎么快速拉人