Mysql安装/删除:
5.7版本以前不收费,下载msi文件后正常安装,最后4个按钮全部点亮才算完成(一般很快不会卡住),若卡住,需要删除安装路径的MySQL+C盘MySQL+注册表MySQL后重启再次安装,失败再次安装总会成功的。
MySQL命令不分大小写,建议命令大写
本文参考链接:MySQL阿里云数据库学习路线黑马程序员随课笔记;
MySQL登陆/退出:
mysql -uroot(用户) -p123456(密码) -hlocalhost
exit或quit
常见操作:
DDL 数据库或表的结构操作(****)
DML 对表的记录更新(增/删/改)(****)
DQL 对表的记录查询(****,难点)
DCL 用户创建及授权
类型:
标准:
int整型
double(5,2)->总长5,小数点后2位
decimal精确浮点型
char 固长 字符串255 不足自动补成255长
varchar 变长 字符串65535 不补
方言(mySQL独有)
MySQL独有:
text(clob):字符串类型
blob:字节类型
date:日期
time:时间
timestamp:时间戳
DDL:
数据库(DATABASE)
(创建CREATE,查看SHOW,进入USE,删除DROP)
create database xxx;
show databases;
use xxx;
drop database xxx;
表(TABLE):
查询表结构: DESC 表名
查询表结构
创建:
CREATE TABLE [IF NOT EXISTS] 表名(
列名 列类型 [PRIMARY KEY] [AUTO_INCREMENT];
...->if not exists 代表不存在就创建,存在就不创建了
);
create table tb1(
number char(11),->定长,算好了的ITCAST_0001
name varchar(50),->不定长
age int,
gender varchar(10)
);
***公共前缀***ALTER TABLE 表名
添加列: ***公共前缀*** ADD(列名 列类型,...);
alter table tb1 add(sal int);
删除列: ***公共前缀*** DROP 列名
改列名: ***公共前缀*** CHANGE 原列名 新列名 列类型
改列类型:***公共前缀*** MODIFY 列名 列新类型
改表名: ***公共前缀*** RENAME TO 新表名
DQL(基本查询):
列控制:
SELECT * FROM 表名->查询所有信息
查询指定列: 把 * 变成 列1,..,列n
查询但不显示完全重复行: 在 * 前 加DISTINCT
select distinct * from xxx;
列运算:(光查,并不改变数据)
SELECT 运算 FROM 表名;
加/减/乘/除: sal+8 sal+name->如果把字符和int加一起,字符会按照0运算
字符串运算: CONCAT('$',sal)->连接字符串
转换NULL值(把NULL当0来运算): IFNULL(comm,0)+100->ifnull(comm,0)是如果是null,按照0计算
给列取别名: IFNULL(comm,0)+100 AS 奖金 - (其中AS可以省略)->奖金是列名
条件控制:
条件查询:(和UPDATE一样的操作方式)
SELECT * FROM 表名 WHERE 条件;
模糊查询:
SELECT * FROM 表名 WHERE 列名 like '张_';->代表后面有0-n个字符,_张代表前面可能有0-n个字符,_张_代表前后可能都有0-n个字符
**** 重点: _ 一个字符 % 0-n个字符;
排序:
SELECT * FROM 表名 ORDER BY 列名 ASC;
升序: ASC(ASC可以省略)
降序: DESC(DESC不可以省略)
多列作为排序条件:列名 ASC,列名 DESC->
select * from xxx order by 列名1 ASC,列名2 DES