欢迎投稿

今日深度:

SQL(结构化查询语言),sql结构化查询语言

SQL(结构化查询语言),sql结构化查询语言


DDL:数据定义语言

  • 添加一行:alter table apple add red varchar[50];
  • 修改名:  rename table apple To banana
  • 修改名:alter table apple change red green int ;
  • 修改一个表的字段类型:alter table apple modify red varchar(50);
  • 查看表的字段信息:desc apple;
  • 删除一列:alter table apple drop red;

DML:数据操作语言

  • 查询表中的所有数据:select * from Apple ;
  • 插入操作:insert into apple(red,green) value(nice,bad);
  • 更新操作:update apple set red=5;      限定条件:update apple set red=10 where green=5;
  • 删除操作:delete from apple ;(删除表中的数据,表结构还在)    truncate table apple;(把表直接drop掉,然后再创建一个同样的表)

DQL:数据查询语言

模糊查询:

_ :任意一个字符

% :任意0~n个字符

select * from apple red like'_i%'    找到nice

 复数据;select distinct red from apple;

把查询字段的结果进行运算,必须都要是数值型:  select * ,red+green as total from apple;

排序:  升序asc    select * from apple order by price asc ;

     降序desc     select * from apple order by price desc ;

COUNT():统计指定列不为NULL的记录行数;    select count(red)ras total from apple ;

寻找最大,最小,和,平均      select sum(price) as total from apple   sum可换为(max,min,avg)

分组:select id,GROUP_CONCAT(name) from stu group by id;        相同的数据化为一组      

select red,group_concat(green),sum(price) from apple group by red having red>1;      having 分组的限定条件  在分组后对数据进行过滤

SELECT id,GROUP_CONCAT(nas),SUM(nas) from stu GROUP BY id having SUM(nas)>311 ;

roup_concat(字段名)可以作为一个输出字段来使用:表示分组之后,根据分组结果,使用group_concat()来放置每一组某字段的值的集合

限制:select id from stu limit 0,5;      从第0行开始查,一共要查5行

 

数据的完整性:

  • 主键约束:primary key  
  • 唯一约束:unique
  • 自动增长列:auto_increment
  • 非空约束:not null
  • 默认值约束:default '男'

 

设置外键:constraint 取得名字(可以不写) foregin key(sid) references student(id);

多对多:创建学生表,创建老师表,创建老师和学生的关联表,添加外键。

添加外键:alter table tea_stu_rel add constraint foregin key(tid) reference teacher(tid);

        alter table tea_stu_rel add constraint foregin key(sid) reference key(sid);

拆分表:避免大量你冗余数据的出现

 

 

多表查询:

  • select * from stu,score where stu.id=score.id;
  • select * from stu join score in stu.id=score.id;
  • select * from stu natural join score;        2张表中列名称和类型完全一致

 

www.htsjk.Com true http://www.htsjk.com/Mysql/26183.html NewsArticle SQL(结构化查询语言),sql结构化查询语言 DDL:数据定义语言 添加 一行:alter table apple add red varchar[50]; 修改 表 名: rename table apple To banana 修改 列 名:alter table apple change red green int ; 修改一...
相关文章
    暂无相关文章
评论暂时关闭