律师做网站推广有用吗网络营销的方法是什么

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

律师做网站推广有用吗,网络营销的方法是什么,公司网站域名备案,扬州网络推广外包DDL: 数据定义语言#xff0c;用来定义数据库对象#xff08;数据库、表、字段#xff09;DML: 数据操作语言#xff0c;用来对数据库表中的数据进行增删改DQL: 数据查询语言#xff0c;用来查询数据库中表的记录DCL: 数据控制语言#xff0c;用来创建数据库用户、控制数…DDL: 数据定义语言用来定义数据库对象数据库、表、字段DML: 数据操作语言用来对数据库表中的数据进行增删改DQL: 数据查询语言用来查询数据库中表的记录DCL: 数据控制语言用来创建数据库用户、控制数据库的控制权限 DDL数据定义语言 数据库操作 查询所有数据库 SHOW DATABASES; 查询当前数据库 SELECT DATABASE(); 创建数据库 CREATE DATABASE [ IF NOT EXISTS ] 数据库名 [ DEFAULT CHARSET 字符集] [COLLATE 排序规则 ]; 删除数据库 DROP DATABASE [ IF EXISTS ] 数据库名; 使用数据库 USE 数据库名; 表操作 查询当前数据库所有表 SHOW TABLES; 查询表结构 DESC 表名; 查询指定表的建表语句 SHOW CREATE TABLE 表名; 创建表  CREATE TABLE 表名(字段1 字段1类型 [COMMENT 字段1注释],字段2 字段2类型 [COMMENT 字段2注释],字段3 字段3类型 [COMMENT 字段3注释],…字段n 字段n类型 [COMMENT 字段n注释] )[ COMMENT 表注释 ]; 例  添加字段  ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束]; 例 修改数据类型  ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度); 修改字段名和字段类型 ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束]; 例将emp表的nickname字段修改为username类型为varchar(30) ALTER TABLE emp CHANGE nickname username varchar(30) COMMENT 昵称; 删除字段 ALTER TABLE 表名 DROP 字段名; 修改表名 ALTER TABLE 表名 RENAME TO 新表名 删除表 DROP TABLE [IF EXISTS] 表名; 删除表并重新创建该表重新创建的是一个空表 TRUNCATE TABLE 表名; DML数据操作语言 添加数据 指定字段 INSERT INTO 表名 (字段名1, 字段名2, …) VALUES (值1, 值2, …); 全部字段 INSERT INTO 表名 VALUES (值1, 值2, …); 批量添加数据 INSERT INTO 表名 (字段名1, 字段名2, …) VALUES (值1, 值2, …), (值1, 值2, …), (值1, 值2, …); INSERT INTO 表名 VALUES (值1, 值2, …), (值1, 值2, …), (值1, 值2, …); 更新和删除数据  修改数据 UPDATE 表名 SET 字段名1 值1, 字段名2 值2, … [ WHERE 条件 ]; 例  删除数据  DELETE FROM 表名 [ WHERE 条件 ]; DQL数据查询语言 语法 SELECT字段列表 FROM表名字段 WHERE条件列表 GROUP BY分组字段列表 HAVING分组后的条件列表 ORDER BY排序字段列表 LIMIT分页参数 基础查询 查询多个字段 SELECT 字段1, 字段2, 字段3, … FROM 表名; SELECT * FROM 表名; 设置别名 SELECT 字段1 [ AS 别名1 ], 字段2 [ AS 别名2 ], 字段3 [ AS 别名3 ], … FROM 表名; SELECT 字段1 [ 别名1 ], 字段2 [ 别名2 ], 字段3 [ 别名3 ], … FROM 表名; 去除重复记录 SELECT DISTINCT 字段列表 FROM 表名; 条件查询 SELECT 字段列表 FROM 表名 WHERE 条件列表; 例 – 年龄等于30 select * from employee where age 30; – 年龄小于30 select * from employee where age 30; – 小于等于 select * from employee where age 30; – 没有身份证 select * from employee where idcard is null or idcard ; – 有身份证 select * from employee where idcard; select * from employee where idcard is not null; – 不等于 select * from employee where age ! 30; – 年龄在20到30之间 select * from employee where age between 20 and 30; select * from employee where age 20 and age 30; – 下面语句不报错但查不到任何信息 select * from employee where age between 30 and 20; – 性别为女且年龄小于30 select * from employee where age 30 and gender 女; – 年龄等于25或30或35 select * from employee where age 25 or age 30 or age 35; select * from employee where age in (25, 30, 35); – 姓名为两个字 select * from employee where name like __; – 身份证最后为X select * from employee where idcard like %X; 聚合函数 SELECT 聚合函数(字段列表) FROM 表名; 分组查询 SELECT 字段列表 FROM 表名 [ WHERE 条件 ] GROUP BY 分组字段名 [ HAVING 分组后的过滤条件 ]; where 和 having 的区别 执行时机不同where是分组之前进行过滤不满足where条件不参与分组having是分组后对结果进行过滤。判断条件不同where不能对聚合函数进行判断而having可以。 例子 – 根据性别分组统计男性和女性数量只显示分组数量不显示哪个是男哪个是女 select count() from employee group by gender; – 根据性别分组统计男性和女性数量 select gender, count() from employee group by gender; – 根据性别分组统计男性和女性的平均年龄 select gender, avg(age) from employee group by gender; – 年龄小于45并根据工作地址分组 select workaddress, count() from employee where age 45 group by workaddress; – 年龄小于45并根据工作地址分组获取员工数量大于等于3的工作地址 select workaddress, count() 别名 from employee where age 45 group by workaddress having 别名 3; 执行顺序where 聚合函数 having分组之后查询的字段一般为聚合函数和分组字段查询其他字段无任何意义 排序查询 SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1, 字段2 排序方式2; 排序方式 ASC: 升序默认DESC: 降序 例子 – 根据年龄升序排序 SELECT * FROM employee ORDER BY age ASC; SELECT * FROM employee ORDER BY age; – 两字段排序根据年龄升序排序入职时间降序排序 SELECT * FROM employee ORDER BY age ASC, entrydate DESC; 注意事项  如果是多字段排序当第一个字段值相同时才会根据第二个字段进行排序 分页查询 SELECT 字段列表 FROM 表名 LIMIT 起始索引, 查询记录数; 第一个参数:页码-1*每页展示的记录数 第二个参数 每页展示的记录数 – 查询第一页数据展示10条 SELECT * FROM employee LIMIT 0, 10; – 查询第二页 SELECT * FROM employee LIMIT 10, 10; 注意事项 起始索引从0开始起始索引 查询页码 - 1 * 每页显示记录数分页查询是数据库的方言不同数据库有不同实现MySQL是LIMIT如果查询的是第一页数据起始索引可以省略直接简写 LIMIT 10 DQL执行顺序 FROM - WHERE - GROUP BY - SELECT - ORDER BY - LIMIT 函数 字符串函数 常用函数 例子  – 拼接 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); 数值函数 日期函数  流程函数 selectname,(case when age 30 then 中年 else 青年 end) from employee; selectname,(case workaddress when 北京市 then 一线城市 when 上海市 then 一线城市 else 二线城市 end) as 工作地址 from employee; 约束 常用 例 外键约束  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 外键名; 删除/更新行为 ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段) REFERENCES 主表名(主表字段名) ON UPDATE 行为 ON DELETE 行为; 多表查询  多表关系 一对多多对一多对多一对一 一对多 案例部门与员工 关系一个部门对应多个员工一个员工对应一个部门 实现在多的一方建立外键指向一的一方的主键 多对多 案例学生与课程 关系一个学生可以选多门课程一门课程也可以供多个学生选修 实现建立第三张中间表中间表至少包含两个外键分别关联两方主键 一对一 案例用户与用户详情 关系一对一关系多用于单表拆分将一张表的基础字段放在一张表中其他详情字段放在另一张表中以提升操作效率 实现在任意一方加入外键关联另外一方的主键并且设置外键为唯一的UNIQUE 查询 合并查询笛卡尔积会展示所有组合结果 select * from employee, dept; 笛卡尔积两个集合A集合和B集合的所有组合情况在多表查询时需要消除无效的笛卡尔积 消除无效笛卡尔积 select * from employee, dept where employee.dept dept.id; 内连接查询 内连接查询的是两张表交集的部分 隐式内连接 SELECT 字段列表 FROM 表1, 表2 WHERE 条件 …;显式内连接 SELECT 字段列表 FROM 表1 [ INNER ] JOIN 表2 ON 连接条件 …;显式性能比隐式高 例  – 查询员工姓名及关联的部门的名称 – 隐式 select e.name, d.name from employee as e, dept as d where e.dept d.id; – 显式 select e.name, d.name from employee as e inner join dept as d on e.dept d.id; 外连接查询  左外连接 查询左表所有数据以及两张表交集部分数据 SELECT 字段列表 FROM 表1 LEFT [ OUTER ] JOIN 表2 ON 条件 …; 右外连接 查询右表所有数据以及两张表交集部分数据 SELECT 字段列表 FROM 表1 RIGHT [ OUTER ] JOIN 表2 ON 条件 …; 例 – 左 select e., d.name from employee as e left outer join dept as d on e.dept d.id; select d.name, e. from dept d left outer join emp e on e.dept d.id; – 这条语句与下面的语句效果一样 – 右 select d.name, e.* from employee as e right outer join dept as d on e.dept d.id; 左连接可以查询到没有dept的employee右连接可以查询到没有employee的dept 自连接查询 当前表与自身的连接查询自连接必须使用表别名 语法 SELECT 字段列表 FROM 表A 别名A JOIN 表A 别名B ON 条件 …; 张无忌的领导是金庸   managerId 例 – 查询员工及其所属领导的名字 select a.name, b.name from employee a, employee b where a.manager b.id; – 没有领导的也查询出来 select a.name, b.name from employee a left join employee b on a.manager b.id; 联合查询 union, union all 把多次查询的结果合并形成一个新的查询集 SELECT 字段列表 FROM 表A … UNION [ALL] SELECT 字段列表 FROM 表B .. 注意事项 UNION ALL 会有重复结果UNION 不会联合查询比使用or效率高不会使索引失效 标量子查询 子查询返回的结果是单个值数字、字符串、日期等。 常用操作符-
– 查询销售部所有员工 select id from dept where name 销售部; //结果是4 – 根据销售部部门ID查询员工信息 select * from employee where dept 4; – 合并子查询 select * from employee where dept (select id from dept where name 销售部); – 查询xxx入职之后的员工信息 select * from employee where entrydate (select entrydate from employee where name xxx); 列子查询 返回的结果是一列可以是多行。 – 查询销售部和市场部的所有员工信息 select * from employee where dept in (select id from dept where name 销售部 or name 市场部); – 查询比财务部所有人工资都高的员工信息 select * from employee where salary all(select salary from employee where dept (select id from dept where name 财务部)); – 查询比研发部任意一人工资高的员工信息 select * from employee where salary any (select salary from employee where dept (select id from dept where name 研发部));