【无标题】

mysql知识归纳整理

启动mysql服务:net shart mysql

停止mysql服务:net stop mysql

登录mysql数据库:mysql -h主机名 -u用户名 -p密码

登录本机mysql数据库:mysql -u用户名 - p密码

创建数据库:create datebase 库名;

查看mysql服务器下所有数据库:show database;

选择或切换或使用数据库:use 库名;

超级用户root登录本机mysql服务器:mysql -uroot -p密码

删除数据库:drop databas 库名

单行注释:#或--

创建数据表:create table 表名(
列名1数据类型 [列/行级别约束...],
列名2数据类型 列/行级别约束]
[行/表级别约束]
);


查看当前数据库中的所有数据表: SHOW TABLES;
按匹配模式查看数据表:SHOW TABLES LIKE‘含%_的匹配模式;
查看当前数据库中的所有数据表的状态: SHOW TABLE STATUS;
查看所有或指定字段的信息: DESCRIBE|DESC 表名; #1
DESC|DESCRIBE 数据表名 字段名; #2

查看创建数据表的具体SQL语句,含字符编码: SHOW CREATE TABLE 表名;

修改字段:

格式1:ALTER TABLE 数据表名 CHANGE [COLUMN] 旧字段
名 新字段名 字段类型 [字段属性];
格式2:ALTER TABLE 数据表名 MODIFY [COLUMN]字段名
新类型 [字段属性];

新增字段:
格式1:新增一个字段,并可指定其位置
ALTER TABLE 数据表名 ADD [COLUMN] 新字段名 字段类型 [FIRST[AFTER 字段名];
格式2:同时新增多个字段
ALTER TABLE 数据表名
ADD [COLUMN] (新字段名1 字段类型1, 新字段名2 字段类型2,...);


删除字段 :ALTER TABLE 表名 DROP [COLUMN] 字段名;

修改表名:
# 格式1
ALTER TABLE I旧表名 RENAME [TO|AS] 新表名;
# 格式2
RENAME TABLE 旧表名1 TO 新表名1[ 旧表名2 TO 新表名2..];

删除数据表
DROP TABLE 表名;
DROP TABLE IF EXISTS 表名;#加判断

新增记录(行):
格式1:(简化格式)
INSERT INTO 表名 VALUES(值1,值2.,值n);
格式2:(基本格式)
INSERT INTO 表名(字段名1,字段名2...) VALUES(值1,值2....);

#注意:(值1,值2, 值n)中的值顺序、数据类型、个数必须与表结构一致

修改数据:
UPDATE 表名

SET 字段名1=值1,字段名2 =值2
WHERE条件;

删除记录(行):
DELETE FROM 表名
WHERE 条件;

清空数据:

TRUNCATE TABLE 表名;
等价于
TRUNCATE 表名;


添加主键(含非空): ALTER TABLE 表名 ADD PRIMARY KEY(列名1....);
删除主键 :ALTER TABLE 表名 DROP PRIMARY KEY;
添加外键: ALTER TABLE 表名 ADD FOREIGN KEY(外键列) REFERENCES 主表(被引用列);
删除外键 :ALTER TABLE 表名 DROP FOREIGN KEY 外键约束名;

创建索引:

语句1:ALTER TABLE 表名 ADD [UNIQUE ] INDEX [索引名] (字段名 [ASC[DESC...]);
语句2:CREATE [UNIQUE ]INDEX 索引名 ON 表名(字段名[ASC[DESC..]);
说明:ASC表示升序,DESC表示降序,默认升序


删除索引 :

语句1:ALTER TABLE 表名 DROP INDEX 字段名;
语句2:DROP INDEX 索引名 ON 表名;

基础查询(主语句) :
select 查什么 from 从哪里查;


完整查询语句:
select [distinct] 输出列
from 表名
[where 条件]
[group by 字段名 [having 条件]]
[order by 字段名 asc/desc]
[limit[偏移量,]记录数]
#常用系统函数:year(),year(now()),month0,if()

分组统计select、having、or der by子句常用聚合函数:count(/count(*),avg(),max(,min(),sum()


去除重复记录查询 :SELECT DISTINCT 字段名 FROM 表名;

多字段去除重复记录 :SELECT DISTINCT 字段名1,字段名2 FROM 表名;
分组统计查询: GROUP BY 字段名
多字段分组统计: GROUP BY 字段名1,字段名2
分组统计筛选: GROUP BY 字段名 HAVING 条件
查询结果排序(升序)降序) :ORDER BY 字段名 ASC[DESC
多字段排序: ORDER BY 字段名1 ASC[DESC,字段名2 ASC|DESC

多表查询

内连接(之等值连接)内连接分为:等值连接,非等值连接,自连接
select [distinct] 输出列
from 表名1
inner join 表名2 on 表名2.公共列=表名1.公共列
JOIN方法 [where 条件]
[group by 字段名 [having 条件]]
[order by 字段名 asc/desc]
[limit [偏移量,]记录数];

左外连接 LEFT JOIN ON
右外连接 RIGHT JOIN ON
交叉连接:CROSS JOIN

子查询:

SELECT主查询
WHERE 字段名=(SELECT标量子查询);#二层嵌套
SELECT主查询
WHERE 字段名 in(SELECT列子查询);#二层嵌套
SELECT主查询
WHERE 字段名 in(SELECT子查询 WHERE 字段名in(SELECT子子查询);#三层嵌套
SELECT 输出列 FROM (SELECT子查询)AS别名;#表子查询


合并结果集:SELECT条件查询 UNION SELECT条件查询;

将查询结果存入新表:CREATE TABLE 表名  SLECT查询语句;

将查询结果插入旧表 INSERT INTO 表名 SELECT查询语句;

创建视图:
CREATE VIEW 视图名
AS
SELECT查询语句;

创建自定义函数:

DELIMITER //
CREATE FUNCTION 函数名(形参名 数据类型) RETURNS 数据数

BEGIN
[SQL语句]
RETURN 返回值;
END
//
DELIMITER ;


查看函数的创建语句 SHOW CREATE FUNCTION 函数名;

输出语句:
SELECT 表达式;
SELECT 函数名0; #无参
SELECT 函数名(实参);#有参


删除函数: DROP FUNCTION 函数名;
查看系统中所有函数状态 :SHOW FUNCTION STATUS ;
按匹配模式查看库中的函数 :SHOW FUNCTION STATUS LIKE '%_';

定义存储过程 :
DELIMITER $$
CREATE PROCEDURE 过程名(INOUT 形参名 数据类型)
BEGIN
SQL语句
END
$$
DELIMITER ;


查看存储过程的创建语句: SHOW CREATE PROCEDURE ;
查看库中所有存储过程状态 :SHOW PROCEDURE STATUS;

定义局部变量:DECLARE 变量名1,变量名2 数据类型 [DEFAULT 初值];

为局部变量赋值:

#1常规
SET变量名1=值,变量名2=值;
#2存储条件查询结果
SELECT 字段名1,字段名2FROM 表名 WHERE 条件
INTO 变量名1,字段名2;
#2等价于
SELECT 字段名1, 字段名2 INTO 变量名1,字段名2
FROM 表名WHERE条件;


关键字及术语

localhost 本地主机
user 用户
password 密码
data 数据
database 数据库
table 表
column 列
row 行
port 端口
quit 退出
exit 退出
charset 字符集
collate 排序规则
collation 排序规则

create 创建(数据库、表等)
show 查看(数据库、表等)

drop删除(数据库、表等)
alter 修改(数据库、表等)
insert 插入(数据、记录)
delete 删除(数据、记录)
update 修改(数据、记录)
set 设置
query 查询
year 年
field 字段
delimiter 分隔符
exists 存在
int 整数类型
tinyint 微整数类型
smallint 小整数类型
mediumint 中整数类型
bigint 大整数类型
unsigned 无符号的

float 单精度浮点类型
double 双精度浮点类型
decimal 定点小数类型
numeric 数字
fixed 固定类型
char 定长字符类型
varchar 可变长字符类型
binary 二进制类型
bit 比特类型

primary key 主键
unique key 唯一键
auto_increment 自增长
default 默认值
comment 说明
index 索引
key 键
foreign key 外键
fulltext key 全文索引
constraint 约束
engine 存储引擎
show 显示
describe 描述
rename 重命名
load 加载
identify 标识
null 空
not null 非空
datetime 日期时间

date 日期
time 时间
timestamp 时间戳
text 长文本类型
blob 二进制形式的长文本类型
values 值
select 选择;查询;检索
from 从...
order 顺序
distinct 区分的
where 哪里
group 组
as 作为
in 在...里面
like 像…一样
limit 限制
count 计数
avg 平均

max 最大
min 最小
sum 总和
asc 升序的
desc 降序的
join 连接
inner 内部的
cross 交叉的
left 左边
right 右边
outer 外面的
in 在...里面
any 任意一个
all 全部
some 其中一部分
union 联合的
replace 替换

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值