MySQL
1.什么是SQL?
Structured Query Language:结构化查询语言
其实就是定义了操作所有关系型数据库的规则。每一种数据库操作的方式存在不一样的地方,称为“方言”。
2.SQL通用语句:
1.SQL语句可以单行或多行,以分号结尾。
2.可使用空格来增强语句的可读性。
3.MySQL 数据库的SQL语句不区分大小写。
4.3种注释
*单行:-- 注释内容或# 注释内容(MySQL特有)
*多行:/* */
3.SQL分类:
DDL:操作数据库,表。
1.操作数据库:CRUD
*C(Create):创建
创建数据库:create database if not exists 数据库名;
创建数据库,指定字符集**create database if not exists 数据库名 character set 字符集名;
*R(Retrieve):查询
查询所有:** show databases;
查询某个:** show create database 数据库名称;
*U(Update):修改
修改数据库字符集:** alter database 数据库名称 character set 字符集名称
*D(Delete):删除
删除数据库:** drop database 数据库名称;
*使用数据库
查询当前数据库:select databaseO();
使用数据库:** use 数据库名称;
2.操作表:
*C(Create):创建
create table 表名P(
列名1 数据类型1,
列名2 数据类型2,
...
列名n 数据类型n;
);
数据库类型:
1.int:整数类型
1.double:小数类型
3.date:日期,包含年月日,yyyy-mm-dd
4.datetime:日期,包含年月日时分秒,yyyy-mm-dd HH:mm:ss
5.timestamp:时间戳类型 包含年月日时分秒 (如果不赋值,则默认为当前的系统时间自动赋值)
6.varchar :字符串类型
创建一个表:
create table student(
id int,
name varchar(32),
age int,
score double(4,1),
birthday date,
insert_time timestamp
);
*R(Retrieve):查询
查询所有表:show tables;
查询表结构:desc 表名;
*U(Update):修改
1.修改表名:alter table 表名 rename to 新的表名
2.修改表的字符集:alter table 表名 character set 字符集名称
3.添加一列:alter table 表名 add 列名 数据类型
4.修改列名称 类型:
*alter table 表名 change 列名 新列名 新数据类型
*alter table biaoming modify 列名 新数据类型
5.删除列:alter table 表名 drop 列名
*D(Delete):删除
** drop table if exists 表名;
DML:操作表中的数据:增删改
增加数据:insert into 表名 (列名1,列名2,....列名n)value(值1,'值2',...值n)
删除数据:delete from 表名 where 条件
修改数据:update 表面 set 值1=值1 where 条件
DQL:查询表中的数据
select * from 表名;
1.语法:
select
字段表名
from
表名列表
where
条件列表
group by
分组字段
having
分组之后的条件
order by
排序
limit
分页限定
2.基础查询
1.多个字段的查询
select 字段名1,字段名2...from 表名;
*注意:
*如果查询所有字段,则可以使用*来替代字段列表。
2.去除重复:
* distinct
3.计算列:
*一般可以使用四则运算一些列的值(一般只会进行数值的计算)
*ifnull(表达式1,表达式2):null参与运算,计算结果都为null
*表达式1:哪个字段需要判断是否null
*如果该字段为null后的替换值
4.起别名:
*as:as也可以省略
3.条件查询
1.where字句后跟条件
2.运算符
*> ,< ,<= ,>= ,= ,<>
*BETWEEN...AND
*IN
*LIKE
*占位符
*单个占位符:_
*多个占位符:%
*IS NULL
*and 或 &&
*or 或 ||
*not 或 !
DCL:管理用户,授权
1.管理用户
1.添加用户:create user ‘用户名’@‘主机名’identified by ‘密码’;
2.删除用户:drop user '用户名' @ '主机名';
3.修改用户密码:update user set password = password(’新密码‘)where user ='用户名';
或者是 set password for '用户名'@'主机名' = password ('新密码');
4.查询用户: select *from user;
2.权限管理:
1.查询管理:
show grants for '用户名'@'主机名';
2.授予权限:
grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';
添加所有权限
grant all on *.* to '用户名'@'主机名';
3.撤销权限:
revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';