MySQL-2

MySQL-2

DML语句

1给表中插入数据
	语法1:insert into 表名 values(值1,值2,值3,值4...值n);插入全部数据
		 insert into 表名 values(值1,值2,值3,值4...值n),(值1,值2,值3,值4...值n),(值1,值2,值3,值4...值n);一次插入多条		   数据
	语法2:insert into 表名(字段名称1,字段名称2....) values(值1,值2...) ;插入部分字段,没有插入的字段,默认值就是null, 也支	  		持一次性插入多条数据
2修改表记录
	语法1:update 表名 set 字段名称 = 值 where 条件 ;一般实际开发中修改:都是带条件修改  (推荐)
	语法2:update 表名 set 字段名称1 = 值 ,字段名称2 =值2.... where 条件;一次性修改多个字段
	语法3:update 表名 set 字段名称= 值,字段名称2 =值2....;不带条件 属于批量修改 (部分场景可以用的)
3删除表的记录
	语法:delete  from 表名 where 条件 ; 带条件删除记录 (使用的非业务字段id删除)
	语法:delete from 表名 :删除全表数据
	语法:truncate table 表名; 删除全表数据
delete from 表名 和 truncate table 表名 :两个区别?
	共同点:都是可以删除全表的记录的;
	不同点:delete from 表名 ; 仅仅只是将表的全部记录删除了,表还在!它针对id(非业务字段:设置主键并且自增长),它不影响自增长主键的这个值; (数据库约束后面讲)
		  truncat table 表名; 将表所有数据删除,而且还会把删除之后,自动创建一个张一模一样的表,影响自增主键的值!
!拓展: 创建一个学生表,id 加入主键(非空且唯一)和自增长(不断的自增1)约束
CREATE TABLE student(
	id INT PRIMARY KEY AUTO_INCREMENT , -- id主键并且自增长
	NAME VARCHAR(20),
	age INT 
);

DQL语句

最通用的语法:select * from 表名; 查询表的全部数据
1字段去重(去掉该字段内重复的数据)
	语法:select distinct 字段名称 from 表名;
2条件查询
	语法:select 字段列表 from 表名 where 条件;
        使用赋值运算符:= 比较运算符:<,<=,>=,>,!=(<>) 逻辑运算符:and(&&),or(||)
        针对两个范围查询: 可以使用&&,可以使用and, 也可以 "字段名称 between 值1 and 值2"
    注意:mysql中判断某个字段为null,使用的语法是 is null ;判断某个字段不为null,使用的语法是 is not null
        关于int类型字段求和的时候,注意: int类型的值 + null 值 = null;
    因此:mysql提供函数 ifnull(字段名称,值);  如果字段名称是null,给一个默认值
3模糊查询
	语法:select 字段列表 from 表名 where 字段名称 like '%xxx%' ;
        %:代表任何多个字符或者某个字符(使用居多):网站门户系统---"搜索商品" ,模糊搜索
        _:代表某个单个字符
4聚合函数查询:针对int类型(单行单列数据)
	语法:select  聚合函数 from 表名 where 还可以指定条件;
        count(字段名称):查询表中记录(字段名称使用都是id,非业务字段,来保证查询到的记录数量准确)
        avg(字段名称): 查询这个字段中平均值 
        sum(字段列表):求和函数
        max(字段名称):最大值
        min(字段名称):最小值
!注意:select语句嵌套select语句 --- 子查询
	例如:查询出学生数学成绩大于数学平均分的学生所有信息
	分两步:-- 1)查询数学平均分是多少
			SELECT AVG(math) FROM student3; -- 79.5000
		  -- 2)查询大于数学平均分的学生信息
            SELECT 
                *
            FROM 
                student3
            WHERE 
                math > 79.5000;
	一步完成:SELECT 
                *
            FROM 
                student3
            WHERE 
                math >  (SELECT AVG(math) FROM student3) ;
5排序查询(order by)
	语法:select 字段列表 from 表名 where 条件 order by 字段名称 排序规则(asc(默认值就是升序)或者desc 降序)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值