数据库(12.28 day 2)

一.数据类型

二.字段约束

三.DML

四.DQL

五.函数

一.数据类型

        1.数值类型

        2.字符串类型

        3.日期类型

二.字段约束 

        1.常见约束       

                非空约束(not null):不能为null

                唯一约束(unique):不能重复

                主键约束(primary key):非空+唯一,能够唯一标识数据表中的一条数据;

                (一张表中只能有一个主键,主键可以是一列,也可以是多个列的组合);

                        删除主键约束:  alter table <tableName> drop primary key;

                        创建表后再添加主键:alter table <tableName> modify 字段 类型 primary key;

                        主键自动增长: auto_increment

                        (自动增长从1开始,自动增长只保证唯一性,不保证连续性)

                联合主键 :       

                                

                外键约束(foreign key):建立不同表之间的关联关系

三.DML

        1.插入数据:insert into <tableName>(columnName,columnName,...) values(value1,value2,...);

                字段列表可省略,但是values中的值的顺序要与数据表定义的字段保持一致(实际开发中建议不要省略)

        2.删除数据:delete from <tableName> [ where columnName< or > or =' ' ; ]        

                删除操作没有where子句,则表示删除当前数据表中的所有记录

        3.修改数据:update <tableName> set columnName='value1',columnName='value2' [ where conditions ];

                修改操作没有where子句,则表示修改字段的所有记录

四.DQL

        1.单表查询:select columnName[columnName1,columnName2,...] from <tableName>;

                (*可以代表所有列,实际开发中不建议使用)

        2.多条件查询:where子句中将多个条件用and( or  not  between...and...  )进行连接;

        3.like子句:select * from tableName where columnName like 'reg';

                在like关键字后的reg表达式中:

                        %表示任意多个字符

                        _表示任意一个字符

        4.计算列

                例:出生年份=当前年份-年龄

                select stu_name as 姓名,2023-stu_age as 出生年份 from table;

                       

        5.distinct-消除重复行

                select distinct columnName from table;

        6.order by 排序

                单字段排序: 将满足条件的记录按照指定的列的值升序/降序排列

                select * from tableName where conditions order by columnName asc|desc;

                        asc:升序(默认)

                        desc:降序

                多字段排序:先满足第一个排序规则,再按照第二个规则排序

                select * from tableName where conditions order by columnName1 asc,columnName2                 asc;

        7.分组查询

                select 分组字段/聚合函数 from table [where 条件] group by 分组列名 [having 条件]

                语句执行属性:1.先根据where条件从数据库查询记录 2.对查询记录进行分组 3.执行having对分组后的数据进行筛选

                

        8.分页查询

                select ... from ... where ... limit param1,param2

                        param1 int,表示查询语句结果中的第一条数据的索引(索引从0开始)

                        param2 int,表示获取的查询记录的条数(如果不够则,返回剩下的所有记录)                    

                          

五.函数

        1.聚合函数

                select count(columnName) from table conditions;

                count():统计函数,统计满足条件的字段值的个数

                max():查询满足条件的记录中指定列的最大值

                min():最小值

                sum():计算和,指定列的值的总和

                avg():求平均值,查询满足条件的记录中指定列的平均值

        2.日期函数

                向日期类型的列添加数据时,可以通过字符串类型赋值(字符串的格式必须为:yyyy-MM-dd  hh:mm:ss)

                 now / sysdate():获取当前系统时间

        3.字符串函数

                concat:(column1,column2,...):拼接多列的查询结果

                

                upper(column):将字段的值转化为大写

                

                lower(column):将指定列的值转换成小写

                substring(column,start,len)从指定列中截取部分显示,start从1开始

                

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值