MySql数据库基础知识

MySql数据库——并非仅仅增删查改


MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言——结构化查询语言(SQL)进行数据库管理。

MySql命令行所需命令

登录时:mysql -h 127.0.0.1 -u用户名 -p密码
命令行查看表结构: desc tabel;
导入数据库(关键字): source
显示数据库、表:show database/table

MySql的语言类型

MySql语言分为五种类型,分别为:

  • DQL语言 数据查询语言,执行查询语句
  • DML语言 数据操作语言,执行非查询语句
  • DDL语言 数据定义语言,对表结构进行增删改
  • TCL语言 事务控制语言,负责提交、回滚事务
  • DCL语言 数据控制语言,如授权和撤销授权

DDL语言、TCL语言和DCL语言详解

  • DDL语言
    CREATE、ALERT和DROP为关键字,分别是创建、更改和删除表结构
  • TCL语言
    START TRANSACTION、COMMIT和ROLLBACK为关键字,分别为开启事务、提交事务和事务回滚
  • DCL语言
    grant授权、revoke撤销权限

MySql基础语句

增删查改:

  • INSERT INTO 表名 (字段) VALUES(字段值,用","隔开);
  • DELETE FROM 表名 WHERE 条件;
  • SELECT * FROM 表名;
  • UPDATE 表名 SET 字段=字段值… WHERE 条件;

条件语句:

为字段起别名:关键字为as,可省略。

	select wname as name from t_wife;

在区间内查询:BETWEEN AND

	between 100 and 150  -- 范围为[100,150]
	between 'A' and 'D' -- 范围为[A,D)

在字段数值符合集合内的行查询关键字为in。

SELECT * FROM STUDENT WHERE ID IN (1004,1005...);

模糊搜索:

	SELECT * FROM STUDENT WHERE NAME LIKE 'A%';-- A为开头字母,%为通配符
	SELECT * FROM STUDENT WHERE NAME LIKE '%A%';-- 名字包含A
	SELECT * FROM STUDENT WHERE NAME LIKE '%A';-- A为结尾字母

判断为空/非空:

	SELECT * FROM STUDENT WHERE TEL IS NULL; --判断为空  sql语句中 =NULL 无效
	SELECT * FROM STUDENT WHERE TEL IS NOT NULL

排序:

	SELECT * FROM STUDENT ORDER BY ID; -- 学生按照学号递增顺序排列
	SELECT * FROM STUDENT ORDER BY ID DESC; -- 学生按照学号递减顺序排列

MySql中的函数:

函数分为单行函数和多行函数。

单行函数:
	字符函数
		A.转换大小写 lower转化为小写,upper转换为大写。
		B.字符串拼接函数 CONCAT,可以多个字符拼接。
		C.字符串截取 SUBSTR
		D.获取字符串长度 length
		E.左对齐右对齐,用定义好的符号填充 LPAD左 RPAD右
		F.清除字符串两端空白 trim
		G.替换 replace
	数值函数
		A.ROUND四舍五入
		B.TRUNCATE截断
		C.MOD 求余
		D.向上/向下取整 CEIL向上 FLOOR向下
	日期函数
		A.获取当前时间:NOW(),SYSDATE() ;两种都可以
		B.获取系统日期:CURDATE() 
		C.增加日期类型数:DATE_ADD(date,inteval expr type),比如增加一个月。
		D.减少日期类型数:DATE_SUB
		E.获取起始时间和结束时间的天数:DATEDIFF
		F.将字符串装换为指定格式的日期:STR_TO_DATE
		G.将日期转换为字符串:DATE_FORMAT
	转换函数
		将任意类型表达式转化为任意类型数值:CAST
	通用函数	
		对null进行替换操作:ifnull(字段,替换的字符串)
		字符串拼接:concat(字符串1,字符串2)
多行函数:
		max,min,avg,count;
		group by分组;
		having 对分组后的数据进行过滤;
		联合去重:DISTINCT,写在select后;必须使用列名。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值