mysql_sql语句

1、group_concat() 能够拿到分组后每一个数据指定字段(可以是多个)对应的值,并拼接起来
mysql_sql语句

2、多表查询
方式一:
select port_info.* from jobs,tasks,port_info where jobs.jobid=tasks.jobid and tasks.taskid=port_info.taskid and jobs.project_id=29;

方式二:内连接查询: 表1 inner join 表2 on 表1.id=表2.id
组合两个表中的记录,返回关联字段相符的记录,也就是返回两个表的交集部分。
select port_info.* from port_info inner join tasks on tasks.taskid=port_info.taskid where tasks.taskid=‘ab8f74b75ee41c014f8295afdc516d98’;

方式三:左连接查询: 表1 left join 表2 on 表1.id=表2.id
左(外)连接,左表(a_table)的记录将会全部表示出来,而右表(b_table)只会显示符合搜索条件的记录。右表记录不足的地方均为NULL。
select * from port_info left join tasks on tasks.taskid=port_info.taskid where tasks.taskid=‘ab8f74b75ee41c014f8295afdc516d98’;

方式四:右连接查询: 表1 right join 表2 on 表1.id=表2.id
右(外)连接,左表(a_table)只会显示符合搜索条件的记录,而右表(b_table)的记录将会全部表示出来。左表记录不足的地方均为NULL。
select * from port_info right join tasks on tasks.taskid=port_info.taskid where tasks.taskid=‘ab8f74b75ee41c014f8295afdc516d98’;

全连接:union/union all
union:
mysql_sql语句

union all:
mysql_sql语句

子查询 select…from 表1 where a=(select…from 表2)
select * from port_info where taskid = (select taskid from tasks where jobid = (select jobid from jobs where project_id=29));

3、创建表:
create table score(
bianhao number(4) primary key,
xuehao number(3),
fenshu number(4,1) check(fenshu between 0 and 100),
foreign key(xuehao) references student(xuehao)–单独写一行
);

4、添加数据:
insert into Score values(‘01’ , ‘01’ , 80);
insert into Score values(‘01’ , ‘02’ , 80);

5、delete
1、删除整张表的数据:
delete from table_name;
2、删除部分数据,添加where子句:
delete from table_name where…;

6、truncate 不删除表的结构
只能操作表,将表中数据全部删除,在功能上和不带where子句的delete语句相同:
truncate table table_name;

7、drop 删除表的结构
drop table table_name;

8、
–Oracle常用数据类型
–char(5):定长字符串
–varchar2(6):变长字符串
–number(p,s):数值类型,p表示长度,s表示精度
–date:日期类型

–约束
–主键约束(primary key):每行数据的唯一性标志,不允许为空
–非空约束(not null):列值不允许为空
–唯一约束(unique):列值不允许重复,可以为空
–检查约束(check):列值需要满足一定的条件
–外键约束:有关联关系的两张表,一张表的某列取值于另一张表的某列
–foreign key(从表的列) references 主表名(主表的列)

9、DQL 数据查询语言
select 查询的信息
from 从哪个表查
where 过滤的条件
group by 分组
having 分组过滤的条件
order by 按顺序排列

10、DML 数据操作语言 操作表数据
insert into 表名(列名,列名) values (数值,数值)
update 表名 set 列名=数值,列名=数值 where
删除某一行 :delete from 表名 where 列名=数值

11、DDL 数据定义语言 操作表结构
create table 表名(
列名 数据类型 约束,
foreign key (从表列名 ) references 主表名 ( 主表列名)
);
数据类型:date char varchar2 number(p,s)
约束:primary key not null unique check(sex in( ‘男’,‘女’) ) foreign key
alter table 表名 add( 列名 数剧类型 ,列名 数据类型)
alter table 表名 modify (列名 数剧类型,列名 数据类型)
alter table 表名 rename column 原列名 to 新列名
alter table 表名 drop column 列名
alter table 表名 drop (列名,列名)
drop table 表名
truncate table 表名