博客列表 >mysql 语句,字段设置等

mysql 语句,字段设置等

有什么是忘不了的的博客
有什么是忘不了的的博客原创
2019年10月15日 20:13:20824浏览

写这个mysql主要是最近写sql语句发现很生疏经常忘单词。这里统计一下以备日后查看。

表字段属性:

                not null       非空设置字段是否可以为空。

                primary key      主键每一个表都要有至少一个主键

                foreign key      外键 设置字段时 FOREIGN KEY REFERENCES Persons(P_Id)

                                        REFERENCES(参考文献)Persons(P_Id)外键参考的Persons表的P_Id字段。

                                        设置外键后这个字段只能添加Persons(P_Id)值中存在的值。

                composite key 组合键    一个表里设置两个主键共同来管理这个表,这里设置的是ip 和 primary;

                            create table t18(                
                  id int not null,
                  server_name char(12) unique key comment '姓名',
                  ip char(15) default '',
                  port char(5) default '',
                  primary key(ip,port)
               );

                unique key  唯一值 不可以重复

                auto_increment    自增

                default    默认值

                comment '这里写注释' 给表和字段设置注释

表字段增删改:

                create 创建的关键字

                alter    创建的关键字

                add     添加一个新字段

                        alter table student add name varchar(65);

                        alter  table 表名  add 字段名 字段属性;

                drop    删除        alter table student drop ass ;

                modify    修改表字段数据类型    

        alter table student modify name varchar(60);

                change    修改表字段名字

                alter table student   change  name title varchar(60);

插入表字段时设置插入位置:

                first    把字段插入表的最前面

                LAST 把字段插入表的最后面(默认就是最后面所以没***用)

                after 把字段安置于指定列的后面。

                            ALTER TABLE 表明 ADD COLUMN 字段名 VARCHAR(10) after 表中的原有字段名 ;

           

select查询是用到的条件函数:

               substring(your_string,start_position,length); 截取

                    截取一部分your_string字符串,从start_position开始,截取length长度

          select substring('SAn Antonio ,TX',5,3)

            substring_index(your_string,str,len)找出指定字符或者字符串前的所有内容。

            select substring_index(字段名,',',1) from 表明;

                right(your_string,len)获取字符串中最后的len个字符''

            select right(字段名,1) from 表明;

                uppre(your_string) 把整组字符串改为大写

                lower(your_string) 把整组字符串改为小写

                reverse(your_string) 反转字符串里的字符排序

                lteim(your_string)和rteim(your_string) 清楚左侧和右侧多余的空格

                length(your_string)返回字符串中的字符数量

                distinct()去重查询,查出的数据是去重后的数据。

             Select distinct(depart) from teacher

                order by 字段 desc 排序默认升序desc倒叙

                group by 字段名     分组    

                join    两表联查,内连接    

            select * from student  join banji  on student.id = banji.stu_id;

                left join 左连接 以左边表为主表

                right join 右连接 以右边表为主表

                in() 在什么之中    

            select * from student id in(1,2,3,4)

                not in() 不在什么之中

                having    设置查询条件 和where意思相同;使用场景不同。

                            having子句可以让我们对通过聚合函数和分组函数处理后根据 聚合函数来进行排序。因为聚合函数不是表中真实存在的字段,所以无法用where来写。

        显示每个地区的总人口数和总面积:
            select region,sum(population),sum(area) from bbc group by region
        显示每个地区的总人口数和总面积,仅显示那些人口数量超过1000000的地区:
            select region,sum(population),sum(area) from bbc group by region having sum(population) > 1000000

                    

                


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议