联盟网站做的最好,动态效果的网站建设技术,怎么免费建立自己网站,网店代运营哪家好DDL#xff1a;数据定义语言
对数据库和数据表的管理
数据库
1、创建
create database [if not exists] databasename;2、列举
show databases;3、查看当前所在数据库
select database();4、切换
use databasename;5、删除
drop database [if exists] databasename;数…DDL数据定义语言
对数据库和数据表的管理
数据库
1、创建
create database [if not exists] databasename;2、列举
show databases;3、查看当前所在数据库
select database();4、切换
use databasename;5、删除
drop database [if exists] databasename;数据表
注意需要先指定数据库如果没指定数据需要使用[databasename.]注明
1、创建
create table [if not exists] [databasename.]tablename(字段1 数据类型1,字段2 数据类型2,···字段N 数据类型N);数据类型 数值–整数用int非整数用double/float 字符–varchar 日期–date 日期时间–datetime 2、列举
show table;3、描述
desc [databasename.]tablename;4、删除
drop table [if exists] [databasename.]tablename;5、清空
truncate [databasename.]tablename;DML数据操作语言
管理数据表的数据
插入insert
insert into tablename(colname1,colname2···) values(value1,value2,···)更新update
update tablename set colname1newvalue [and colname2newvalue2 and ···] [where 更新条件]不加条件为全列更新
删除delete
delete from tablename [where 删除条件]不加条件为全表清空
DQL数据查询语言
对表中数据查询和统计分析
基本查询
select 1 from 2 where 3 group by 4 having 5 order by 6 limit 7执行顺序from、[join on ]、where、group by、having、select、order by 、limit 决定查询的结果有哪些列给定哪些列、结果就会显示这些列表示查询哪张表给定表名字条件查询只有满足条件的数据才会返回实现分组分组后的条件过滤排序。默认ASC升序DESC降序分页输出。limit M,N 表示从M1开始显示显示N条 显示8到10条 limit 73条件查询where
and/orlikebetween··· and···、、、、!、in\existis null\is not null
聚合查询
count、sum、avg、max、min
分组查询group by
having 条件过滤搭配group by使用
排序查询order by
desc 降序
分页查询limit
结果保存
insert into tablename select ···tablename需要事先创建select里的列名称可以与tablename列名称不一样但是数据类型跟列数必须一致
select ··· into tablename
from a表多表查询
连接方式
内连接
笛卡尔连接cross join
SELECT * FROM r, s;
SELECT * FROM r CROSS JOIN s;条件连接又叫θ-连接笛卡尔积得到的记录中选择满足某个条件的θ 表示条件中的 / ! / / / / 等
SELECT r.a, r.b, s.c, s.d FROM r, s WHERE r.b s.c;
SELECT r.a, r.b, s.c, s.d FROM r INNER JOIN s ON r.b s.c;等值连接又叫内连接笛卡尔积得到的记录中选择满足某个相等条件的将条件连接中的 θ 换为 即可等值连接是一种特殊的条件连接
SELECT r.a, r.b, s.c, s.d FROM r, s WHERE r.b s.c;
SELECT r.a, r.b, s.c, s.d FROM r INNER JOIN s ON r.b s.c;自然连接笛卡尔积得到的记录中选择同名的某个列相等的将等值连接中的列限定为同名列即可同名列只显示一次是一种特殊的等值连接
SELECT r.a, r,b, s.c FROM r, s WHERE r.b s.b;
--or
SELECT r.a, r.b, s.c FROM r INNER JOIN s ON r.b s.b;外连接
左外连接连接自然 / 等值 / θ-连接结果加上左侧表失配行连右侧表全空值行
SELECT * FROM r RIGHT JOIN s ON r.b s.b;右外连接连接自然 / 等值 / θ-连接结果加上右侧表失配行连左侧表全空值行
SELECT * FROM r RIGHT JOIN s ON r.b s.b;全外连接连接自然 / 等值 / θ-连接结果加上左侧表失配行连右侧表全空值行和右侧表失配行连左侧表全空值行
(SELECT * FROM r LEFT JOIN s ON r.b s.b)
UNION
(SELECT * FROM r RIGHT JOIN s ON r.b s.b);
--or
select s.*,r.* from s full join r.b s.b子查询
查询结果的列来自同一张表条件来自别的表