资讯详情

MySQL常用语法大全

一 、常用的命令操作数据库和数据表结构(DDL)

二、修改表格的命令(DML)

三、操作数据(DML,DQL)

四、多表联合查询

五、DCL 语言的数据控制

六、DTL 数据事务语言

七、关系语法最常用

八、时间查询


一 、常用的命令操作数据库和数据表结构(DDL)


1.show databases; 查看所有数据库 2.create database test; 创建一个叫test的数据库 3.drop database test; 删除一个叫test的数据库 4.use test; 选中库 ,在建表之前,必须选择数据库 5.show tables; 在选定的数据库中查看所有表 6.create table 表名 (字段1 类型, 字段2 类型); 7.desc 表名; 查看表的字段 8.drop table 表名; 删除表 9.show create database 库名; 查看创建库的详细信息 10.show create table 表名; 查看创建表的详细信息 11.insert into表名[(字段1,字段2,…)]valuse(值1,值2,…); 将数据插入表中

二、修改表格的命令(DML)


1.字段类型 alter table 表名 modify 字段 字段类型; 2.新的字段 alter table 表名 add 字段 字段类型 3.字段位置 alter table 表名 add 字段 字段类型 after 字段; 4.表字段 alter table 表名 drop 字段名; 5.的字段 alter table 表名 change 原字段名字 新字段名称 字段类型

三、操作数据(DML,DQL)


1.创建表 create table 表名(列名1 列类型(长度为数字)属性,列2 列类型()属性… 2.增加数据(insert)3种方式 1.1 insert into 表名 values(值1,值2,…)(很少用) 1.2 insert into 表名(字段1,字段2…) values(值1,值2,…);(较常用) 1.3 insert into 表名(字段1,字段2…) values(值1,值2,…),(值1,值2,…),(值1,值2,…); 3.删除数据(delete) delete from 表名 where 条件 注意:where 必须添加条件,否则将删除所有数据 4.更新数据(update) update 表名 set字段1 = 值1, 字段2 = 值2 where 条件 5.查询数据(select) 5.1 查询表中的所有数据 select * from 表名 5.2 查询指定数据 select 字段 from 表名 根据条件查询的数据 select 字段 from 表名 where 条件 (最常用) where 后续条件 关系:>,<,>=,<=,!= 逻辑:or或, and并且 区间:id between 4 and 6 ;包括边界的封闭区间 6.排序 select 字段 from 表 order by 字段 排序关键词(desc | asc) 排序关键词 desc 降序 asc 升序(默认) 6.1 通过字段进行排序 例如 :select * from star orser by money desc, age asc; 6.2 多字段排序 select 字段 from 表 order by 字段1 desc |asc,…字段n desc| asc; 7.常用的统计函数 sum,avg,count,max,min 只分组:select * from 表 group by 字段 例子: select count(sex) as re,sex from star group by sex having re > 3; 分组统计: select count(sex) from stargroup by sex; 8.lpat左填充 实现左填充指定长度 rpat右填 实现有填充指定长度 replace替换 lenght获取参数值的字节个数 concat拼接字符串 upper变大写 lower变小写 substr截取从指定索引处后面所有字符 sebstring 截取从指定索引处指定字符长度的字符 round四舍五入 ceil向上取整 返回>=该参数的最小整数 floor向下取整,返回<=该参数的最大整数 truncate 截断 mod取余 9.分组 select * from 表名 limit 偏移量,数量 说明: 9.1.不写偏移量的话就是默认的为0 9.2.实现分页的时候必须写偏移量 偏移量怎么计算?: limit (n-1)*数量 ,数量

四、多表联合查询


1.内连接 隐式内连接 select username,name from user,goods where user,gid=gods,gid; 显示内连接 select username,from user inner join goods on user.gid=goods.gid; select * from user left join goods on user.gid=goods.gid; 2.外链接 左连接 包含所有的左边表中的记录以及右边表中没有和他匹配的记录 右连接 select * from user where gid in(select gid from goods); select * from user right jOin goods on user.gid=goods.gid; 子嵌套查询 数据联合查询 select * from user left join goods on user.gid=goods.gid union select * from user right join goods on user.gid=goods.gid; 两个表同时更新 update user u, goods g set u.gid=12,g.price=1 where u.id=2 and u.gid=g.gid;

五、DCL 数据控制语言


1.创建用户:create user’xiaoming’@‘localhost’ identified by ‘666666’; 2.授权用户:grant all on test.to’xiaoming’@‘localhost’; 3.刷新权限:flush privileges; 4.取消授权:revoke all on test. from ‘xiaoming’@‘localhost’; 5.删除用户: drop user’xiaoming’@‘localhost’;

六、DTL 数据事务语言


1.开启事务:set autocommit=0; 2.操作回滚:rollback; 3.提交事务:commit;

七、最常用关系语法


SELECT case -------------如果 when sex=‘1’ then ‘男’ -------------sex=‘1’,则返回值’男’ when sex=‘2’ then ‘女’ -------------sex=‘2’,则返回值’女’ else ‘其他’ -------------其他的返回’其他’ end -------------结束 from user --------整体理解: 在user表中如果sex=‘1’,则返回值’男’如果sex=‘2’,则返回值’女’ 否则返回’其他’

SELECT EMPLOYEE_ID, FIRST_NAME, SALARY, CASE WHEN SALARY>=10000 THEN ‘A’ WHEN SALARY>=8000 AND SALARY<10000 THEN ‘B’ WHEN SALARY>=6000 AND SALARY<8000 THEN ‘C’ WHEN SALARY>=2000 AND SALARY<6000 THEN ‘D’ ELSE ‘E’ END AS ‘薪资级别’ FROM t_employees ORDER BY 薪资级别; # 顺便排个序

八、时间查询


SELECT 时间函数([参数列表]); 获取各种日期和时间

 #. 1.当前系统时间 2022-07-27 15:11:03 SELECT NOW(); SELECT SYSDATE();
    
    # 2.获得当前日期 2022-07-27 SELECT CURDATE();
    
    # 3.获得当前时间 15:11:58 SELECT CURTIME();
    
    # 4.获得指定日期在一年中为第几周 30 SELECT WEEK(CURDATE())+1;
    
    # 5.获取指定日期中的年 2022 SELECT YEAR(CURDATE());
    
    # 6.获取指定日期中的月 7 SELECT MONTH(CURDATE());
    
    # 7.获取指定日期中的日 27 SELECT DAY(CURDATE());
    
    # 8.获取指定日期中的时 15 SELECT HOUR(SYSDATE());
    
    # 9.获取指定日期中的分 13 SELECT MINUTE(SYSDATE());
    
    # 10.获取指定日期中的秒 56 SELECT SECOND(SYSDATE());
    
    # 11.获取date1和date2之间相隔的天数 365 SELECT DATEDIFF(SYSDATE(), '2021-7-27');
    
    # 12.获取指定天数后的日期 2022-08-02 15:15:10 SELECT ADDDATE(SYSDATE(), 6);
    
    # 13.当月最后一天 SELECT LAST_DAY(SYSDATE()) AS '本月最后1天日期'; # 2022-07-31
    
    # 14.格式化日期格式 
    SELECT DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p'),# Jul 27 2022 03:06 PM
    DATE_FORMAT(NOW(),'%m-%d-%Y'), # 07-27-2022
    DATE_FORMAT(NOW(),'%d %b %y'); # 27 Jul 22

显示格式    YYYY-MM-DD
显示范围  1601-01-01 到 9999-01-01
应用场景  当业务需求中只需要精确到天时,可以用这个时间格式
后台取值    @JSONField(format=”yyyy-MM-dd”)

显示格式 HH:mm:ss
显示范围     00:00:00 到 23:59:59
应用场景 当业务需求中只需要每天的时间,可以用这个时间格式
后台取值  @JSONField(format=”HH:mm”)(这里是只精确到分,数据库存的也就是只精确到分,比如 09:36:00,如果需要精确到秒。需要使用@JSONField(format=”HH:mm:ss”))

显示格式  YYYY-MM-DD HH:mm:ss
显示范围  1601-01-01 00:00:00 到 9999-12-31 23:59:59
应用场景   当业务需求中需要精确到秒或者毫秒时,或者该系统用于不同时区,可以用这个时间格式
后台取值    @JSONField(format=”yyyy-MM-dd HH:mm:ss:SSS”)(这里只会精确到秒)

           

标签: 铜铝电缆连接端子dtl

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

 锐单商城 - 一站式电子元器件采购平台  

 深圳锐单电子有限公司