mysql基础

数据库相关名词

- DB:数据(database):存储数据的仓库,保存了一系列有组织的数据
- DBMS:数据库管理系统,常用的数据库管理系统:mysql oracle DB2 SqlServer
- SQL:结构化查询语言

数据库表操作命令:

  • show databases; 查看数据库
  • show tables; 查看当前数据库表
  • show tables from 库名; 查询其他库的表
  • use databaseName; 使用xxx的数据库
  • use tableName; 使用xxx表
  • select database(); 查看当前所在的数据库
  • create database xxx; 创建数据库
  • create table stuinfo( id int,name varchar(20)); 创建表
  • desc stuinfo; 查看表结构
  • 增删改查操作:
    • select * from stuinfo;查询表格的数据
    • insert into stuinfo(id,name)values (1,‘rose’) 插入一条记录
  • 查询数据库版本
    • select version();
    • mysql -V
  • mysql如何通过命令行执行sql脚本
    mysql -u root -p 123456
    进入mysql
    source sql文件的路径	
    

SQL语言的一些名词

KEY:普通索引,作用包括:一是约束(偏重于约束和规范数据库的结构完整性),
二是索引(辅助查询用的)。
包括有:primary key,foreign key,union key等等。

  1. primary key 有两个作用,一是约束作用(constraint),用来规范一个存储主键和唯一性,但同时也在此key上建立了一个主键索引;

PRIMARY KEY 约束:唯一标识数据库表中的每条记录;
主键必须包含唯一的值;
主键列不能包含 NULL 值;
每个表都应该有一个主键,并且每个表只能有一个主键。(PRIMARY KEY 拥有自动定义的 UNIQUE 约束)

  1. unique key 也有两个作用,一是约束作用(constraint),规范数据的唯一性,但同时也在这个key上建立了一个唯一索引;

UNIQUE 约束:唯一标识数据库表中的每条记录。
UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。
(每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束)

  1. foreign key 也有两个作用,一是约束作用(constraint),规范数据的引用完整性,但同时也在这个key上建立了一个index;

起别名

好处:

  1. 便于理解
  2. 如果要查询的字段有重名的情况,利用别名可以区分开来。

方法:

  • 使用as关键字
  • 使用空格

列子:
select 100%98 as result
select last_name 姓, next_name 名 from employees

去重(DISTINCT)

select DISTINCT department_id from employees

在这里插入图片描述

字符串拼接

CONCAT()方法,将方法内的参数全部进行拼接
如:select CONCAT(‘a’,‘b’,‘c’);
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eiuEdiBm-1628086096354)(image/字符串或者字段拼接.png)]

实例:

  1. 出现空值设置为0;SELECT IFNULL(commission_pct,0),commission_pct FROM employees;
    在这里插入图片描述

  2. 显示employees的全部列,列之间用,隔开,列头显示为out_put
    SELECT CONCAT_WS(',',employee_id,first_name,last_name,email,phone_number,commission_pct) as out_put from employees ;
    select CONCAT(IFNULL(commission_pct,0),',',last_name) as out_put from employees;

实例训练

  • 查询工资大于>12000的员工信息
    select * from employees where salary>12000;
  • 查询部门编号不是在90到110之间,或者工资高于10000的员工信息
    select * from employees where NOT(department_id>=90 and department_id<=110) or salary>10000;
  • 查询员工名字中第二个字符为_的员工名
    select last_name from employees where last_name like '_$_%' escape '$';
    在这里插入图片描述

使用in查询

判断某字段的值是否属于既定的某一项,适合用来做筛选。
案例:查询员工的工种编号是IT_PROG,AD_VP,AD_PRES中的一个的员工名和工种编号
SELECT last_name,job_id FROM employees where job_id in('IT_PROG','AD_VP','AD_PRES');
在这里插入图片描述

is null的使用

查询没有奖金的员工名和奖金率

SELECT
	last_name,
	commission_pct 
FROM
	employees 
WHERE
	commission_pct is NULL;

在这里插入图片描述

注:=或<>不能判断null值,使用is null;

安全等于

  • 安全等于:<=> 既可以用来判断null值,又可以用来判断普通数值,可读性查
    = 普通=:只能判断普通数值,可读性好。
  • IS NULL:只能用来判断null值,可读性好。

DQL语言的学习

DML语言的学习

DDL语言的学习

TCL语言的学习

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值