狂人日记day6
mysql 出现command错误
alias mysql=/usr/local/mysql/bin/mysql 回车
alias mysqladmin=/usr/local/mysql/bin/mysqladmin 回车
然后正常 root-u root -p
Mysql 基本命令
show databases 显示所有数据库
use 数据库名
Show tables 查看所有的表
describe 表名 显示数据库中所有表的信息
create databse 创建一个数据库
exit 退出连接
– 单行注释
ddl 定义
dml 操作
dql 查询
dcl 控制
操作数据库
1.创建
create database 【if no exist】 school;
不报错
2.删除
drop databse school
3.使用数据库
use school
如果是特殊字符需要加(``)
3.查看数据库
show database school
数据库的数据类型
数值
- Tinyint
- smallint
- Int 4个字节 常用
- big 八个字节
- float
- double
字符串
- char
- string
- var char
- Tinytext
- Text 保存大文本
时间日期
-
data
-
time
-
datetime YYYY-MM-DD
-
Timestamp 时间戳
null
字段属性
Unsigned
- 无符号整数
- 声明了该列不能声明为负数
zerofill
- 0填充的
- 不足位数使用0填充
auto increment
- 自增
- 自动在上一条记录基础加一
- 可以自定义起始值
allow nulls
- 假设设置not null
- 不填值 就为空
default
- 默认
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MrSV76KY-1621172592912)(/Users/suannai/Library/Application Support/typora-user-images/image-20210516201526711.png)]
导入表
source + 拖文件
看数据
select * from + 表名
查看表结构
desc(describe) + 表明
不看数据 只看结构
mysql 常用命令
select database
select version
mysql 不见;不执行
\c 用来终止输入
DQL
简单查询
- 查询一个字段
- select 字段名 from 表明
select dname from dept;
查询多个字段
- 使用,隔开
select deptno,dname from dept;
查询所有字段
第一种 每个字段都写
第二种 使用*
给查询的列起别名
- 使用 as关键字
- 注意,只是将显示结果起名 原来表不改
select 永远不改原表
as可以用空格代替
假设别名有空格
- 加个``中间可以加空格
数学运算
select sal *12 from emp;
- 字段可以使用数学表达式
条件查询
select sal from emp where sal<2000;
-
=
-
<, >, !=,
select ename,sal!= 800 from emp;
select sal <2000 from emp;
分别是下面的图片
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wxT0PneM-1621172592913)(/Users/suannai/Library/Application Support/typora-user-images/image-20210516211348404.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QcI9pE7Q-1621172592913)(/Users/suannai/Library/Application Support/typora-user-images/image-20210516210943637.png)]
回复 0 1
- between and
- is null (is not null)
select comm is null from emp;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FJiZo35K-1621172592914)(/Users/suannai/Library/Application Support/typora-user-images/image-20210516212525029.png)]
-
and
-
or
select empno ,ename,job from emp where job =‘MANAGRE’ OR JOB = ‘SALESMAN’;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ekjfCJjj-1621172592914)(/Users/suannai/Library/Application Support/typora-user-images/image-20210516213129193.png)]
and 优先级比 or 高
加个()就可以
-
in(相当于多个or)
select empno ,ename,job from emp where job in (‘MANAGRE’ , ‘SALESMAN’);
Not in
-
like like
-
_任意一个 %任意多个
select ename from emp where ename like ‘%o%’;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gXDqPFJr-1621172592914)(/Users/suannai/Library/Application Support/typora-user-images/image-20210516213813894.png)]
-
% 匹配任意个字符
如果就找% 可以用\转意