mysql整理总结

  • 1.1SQL语言分类
    • 1.1.1数据查询语言DQL
    • 1.1.2数据操纵语言DML
    • 1.1.3数据定义语言DDL
    • 1.1.4数据控制语言DCL
      • 1.创建用户
      • 2.给用户授权
      • 3.撤销授权
      • 4.查看用户权限
      • 5.删除用户
      • 6.修改用户密码
  • 1.2数据库/表基本操作
    • 1.2.1登录与退出
    • 1.2.2数据库操作
      • 1.创建数据库
      • 2.查看数据库
      • 3.删除数据库
      • 4.打开数据库
      • 5.查看当前打开数据库的所有表
      • 6.查看某个表的表结构
      • 7.mysql中的三种注释方法
      • 8.mysql中数据类型
      • 9.字段约束
      • 10.查看表结构
      • 11.修改表结构
      • 13.更新语句
      • 14.删除语句
      • 15.基本查询
      • 16.聚合函数
      • 17.去重
      • 18.别名
      • 19.分组
      • 20.降序/升序排列
      • 21.分页
      • 22.连表查询

1.1SQL语言分类

​ SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。

1.1.1数据查询语言DQL

select 字段名 from 表名称 where 查询条件;

1.1.2数据操纵语言DML

update 表名称 set 列名称 = 新值 where 列名称 = 某值;
insert into 表名称(列1,列2,...) values (值1,值2,...);
delete from 表名称 where 列名称 = 值;

1.1.3数据定义语言DDL

-- 创建数据表
create table 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
...
);-- 如需在表中添加列,请使用下列语法:
ALTER TABLE table_name
ADD column_name datatype;-- 删除数据表
DROP TABLE 表名称;
-- 删除数据库
DROP DATABASE 数据库名称;

1.1.4数据控制语言DCL

数据控制语言,用来定义访问权限和安全级别。

1.创建用户
-- 语法:
CREATE USER 用户名@地址 IDENTIFIED BY '密码';
-- 例:
create user user1@localhost identified by '4567';
2.给用户授权
-- 语法:
GRANT 权限1, … , 权限n ON 数据库.* TO 用户名;
-- 例:
grant create,alter,drop,insert,update,delete,select on test2.* to user1@localhost;
3.撤销授权
-- 语法:
REVOKE权限1, … , 权限n ON 数据库.* FORM 用户名;
-- 例:
revoke create,alter,drop on test2.* to user1@localhost;
4.查看用户权限
-- 语法:
SHOW GRANTS FOR 用户名;
-- 例:
show grants for user1@localhost;
5.删除用户
-- 语法:
DROP USER 用户名;
-- 例:
drop user user1@localhost;
6.修改用户密码
-- 语法:
USE mysql;
UPDATE USER SET PASSWORD=PASSWORD(‘密码’) WHERE User=’用户名’ and Host=’IP’;
FLUSH PRIVILEGES;
-- 例:
update user set password=password('1234') where user='user2' and host=’localhost’;
flush privileges;

1.2数据库/表基本操作

1.2.1登录与退出

-- 一、DOS窗口登录-- 语法:
mysql -u 用户名 -p -h 主机 -P 端口
-- 例1:
mysql -u root -p
-- 例2:
mysql -u root -p -h 127.0.0.1 -P 3306
-- 注意:1. -P3306中的P为大写  2.如果有密码则输入,没有就直接回车-- 分隔线 ------------------------------------ 二、DOS窗口退出
exit 或 \q 或 按 Ctrl+C组合键

1.2.2数据库操作

1.创建数据库
-- 语法:
CREATE DATABASE 数据库名;
-- 例:
create database blog;
create database blog default character set utf8 collate utf8_general_ci; -- 创建数据库同时设置编码格式
2.查看数据库
-- 查看所有数据库语法:
show databases;
-- 查看指定数据库语法:
show create database 数据库名;
-- 例:
show create database blog;
3.删除数据库
-- 语法:
drop database 数据库名;
-- 例:
drop database blog;
4.打开数据库
-- 语法:
use 数据库名;
-- 例:
use blog;
5.查看当前打开数据库的所有表
-- 语法:
show tables;
6.查看某个表的表结构
-- 语法:
describe 表名 或简写为 desc 表名;
-- 例:
describe news;
desc news;-- 查看表结构 格式化查看通过\G:
show create table 表名\G;
-- 例:
show create table news\G;
7.mysql中的三种注释方法
#注释方法一
-- 注释方法二
/*注释方法三*/
8.mysql中数据类型
-- 字符型
char             -- 定长字符串  #固定长度
varchar          -- 变长字符串  #根据存储的内容计算占用多少空间
text             -- 文本   #保存打文本(论文、文章内容)
-- 整型
tinyint          -- 极小整型
smallint         -- 小整型
int或 integer    -- 整型
bigint           -- 大整型
-- 浮点型
float(M,D)       -- 单精度   #float(M,D),M表示总的位数,D表示小数点后面保留的位数
double           -- 双精度
decimal(M,D)     -- 定点型   #M表示总的位数,D表示小数点后面保留的位数
-- 日期型
date             -- 日期型   #存储年月日,'2020-11-09'
time             -- 时间型   #存储时分秒,'16:04:31'
year             -- 年份
datetime         -- 日期时间型  #存储年月日时分秒,'2020-11-09 16:04:31'
timestamp        -- 时间戳
9.字段约束
not null/null     -- 非空/空
default           -- 默认值
primary key       -- 主键
foreign key       -- 外键
unique            -- 唯一
auto_increment    -- 自增长

外键约束是为了保持数据一致性,完整性,实现一对一或一对多关系。

主键:主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。

外键:外键用于与另一张表的关联

-- 外键语法:
[CONSTRAINT <外键名>] FOREIGN KEY 字段名 [,字段名2,…]
REFERENCES <主表名> 主键列1 [,主键列2,…];-- 案例
CREATE TABLE tb_mp6(
id INT(11) PRIMARY KEY,
name VARCHAR(25),
deptId INT(11),
CONSTRAINT fk_emp_dpt1
FOREIGN KEY (deptId) REFERENCES tb_dpt1(id)    #外键
);    
10.查看表结构
-- 语法:
desc 表名;
11.修改表结构
-- 添加一列语法:
alter table 表名 [add|change|modify|drop] 列名 [类型];
-- 示例:
alter table student add department varchar(20);
-- 删除一列语法:
Alter table tablename Drop column Columnname;
-- 示例:
alter table student drop department;

12.添加数据

-- 添加语法:
insert into 表名 values(值1,值2,值3);
-- 示例:
#添加一条数据:
insert into stu values('001','张三','男','2020','20030');
#按列依次添加数据:
insert into stu(sno,sname,class) values('101','小乔','20031');
#添加多条数据:
insert into stu value('002','张小莉','女','1999','20030'),('003','张
军','男','2001','20030');
13.更新语句
-- 语法:
update 表名 set 字段=‘值1’,字段2=‘值2’ where 条件;
-- 示例:
UPDATE students
SET name='李四', subject='语文'
WHERE score=80;
14.删除语句
-- 语法:
delete from 表名 where 条件;
-- 示例:
delete from students where name='李四';
15.基本查询
-- 1.查询所有字段
SELECT  *  FROM  数据表;
-- 2.查询某些字段
SELECT  字段1,字段2,…字段n  FROM  数据表;
-- 3.条件查询
SELECT  字段  FROM  数据表  WHERE  关键字=值;
-- 4.分组查询
SELECT  字段  FROM  数据表  [WHERE  关键字=值]  GROUP  BY  字段;
-- 5.查询出的结果去重显示
SELECT  DISTINCT  字段  FROM  数据表;
-- 6.求和(统计数量、平均数、最大值、最小值)
SELECT  SUM(字段)  AS  别名  FROM  数据表;
-- 其中:sum:求和、count:统计数量、avg:平均值、max:最大值、min:最小值
-- 7.查询显示几行
SELECT * FROM products ORDER BY price DESC LIMIT 3;
16.聚合函数
-- 语法:
SELECT  SUM(字段)  AS  别名  FROM  数据表;
-- 其中有:
sum:对数值型求和
avg:对数值求平均值
max:求最大值
min:求最小值
count:计数(跟列名没有任何列没有关系,可以写成:count(列名)或count(*))
17.去重
-- 语法:
select distinct sno from score;
18.别名
-- 语法:
select sno as 学号, sname as 姓名 from student; # as可以省略
19.分组
-- 分组语法:
select sno, sum(grade) from score group by sno;-- 分组后加条件:
select sno from score group by sno having count(*) >= 2;
20.降序/升序排列
-- 语法:
SELECT  字段(要的结果)  FROM  数据表  ORDER  BY  字段(以这一行为判断)  DESC/ASC;
-- 其中:DESC是降序,ASC是升序
21.分页
-- 语法:
select * from student limit 3; -- 索引默认从0开始 -- 或:
select * from student limit 0,3;
22.连表查询
-- 示例:
select s.id,s.name,c.cid from students as s join classes as c on s.ci=c.cid

mysql整理总结【背】相关推荐

  1. .NetCore中EFCore for MySql整理(二)

    一.简介 EF Core for MySql的官方版本MySql.Data.EntityFrameworkCore 目前正是版已经可用当前版本v6.10,对于以前的预览版参考:http://www.c ...

  2. 5000字mysql整理

    mysql整理 1.架构 sql语句: select * from t1 join t2 on t1.id = t2.id 主要组成:客户端,服务器,存储引擎 1.1客户端:(jdbc,navicat ...

  3. mysql 整理磁盘空间_mysql 数据库磁盘满了,进行碎片化整理的相关问题

    一.进行碎片化整理的步骤: 1,进行磁盘碎片化整理.原因是datafree占据的空间太多啦.具体可以通过这个sql查看. SELECT CONCAT(TRUNCATE(SUM(data_length) ...

  4. 2022年最新整理必背的Java面试题大全,背好了Offer在手

    Java中级面试题及答案[最新版及答案,干货!!!这是一个中级Java面试系列题中的第一部分.这一部分论述了可变参数,断言,垃圾回收,初始化器,令牌化,日期,日历等等Java核心问题. Java中级面 ...

  5. mysql整理_Mysql基本操作整理

    1.登录数据库 格式: mysql -h主机地址 -u用户名 -p用户密码 –P端口 –D数据库 –e "SQL 内容">mysql -uroot -p 数据库名称 ~~~~ ...

  6. mysql 整理碎片_mysql 如何去整理表数据,碎片整理

    展开全部 MySQL 的碎片是 MySQL 运维过程中比较常见的问题,碎片的62616964757a686964616fe59b9ee7ad9431333433643731存在十分影响数据库的性能,本 ...

  7. mysql整理类型_Mysql 时间类型整理

    一.date_sub.SUBDATE.date_add select now(),  date_sub(now(),interval  1 minute),SUBDATE(now(),interval ...

  8. MySQL整理(三)

     一.简单单表操作   (1)简单CRUD 插入查询结果 insert into table1(id,name,age) select id,name,age from table2 where id ...

  9. MySQL整理-基础知识篇1

    主键 超键 候选键 外键 主 键:数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合.一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null). 超 键:在关系中能唯一标识 ...

最新文章

  1. 直观地理解车辆的运动控制
  2. spring源码分析之spring-jms模块详解
  3. nginx禁止对写操作timeout时retry
  4. shell脚本:批量修改文件名(文件名中添加字符)
  5. 两空间异面直线公垂线及交点坐标的求解过程
  6. 10年10亿才能烧好电子商务?
  7. MySQL if函数使用详解
  8. 【Hive】Caused by: MetaException(message:Hive metastore database is not initialized. Please use schema
  9. 程序员好用的 Markdown 笔记软件
  10. 5G工业无线网关是什么?5G工业无线网关可以实现哪些功能?
  11. 一文带你了解SpringMVC框架的基本使用
  12. 选择一个软件外包公司的入职须知!
  13. 数字中国 · 青云科技:数字化转型过程中企业如何用好云计算?
  14. 硬件在环(一):HIL起始
  15. 【ChatGPT】多国“围堵”,万人抵制,AI发展的红线到底在哪?
  16. Google 以图搜图 - 相似图片搜索原理 - Java实现
  17. (转载)SAP第三方销售实现方法
  18. 2022.6.2 质数(素数)与合数
  19. 解决Windows10电脑时间不同步或无法更新问题
  20. C#—得到服务器时间和国际标准时间

热门文章

  1. Zookeeper——服务器动态上下线、客户端动态监听
  2. 2021_01_22_R语言在空间可视化方面的英文书籍推荐
  3. PHP_MySQL优化(1)
  4. 2021-2027全球与中国太阳能电池边框市场现状及未来发展趋势
  5. 身份证号码及统一社会信用代码校验
  6. android中彻底退出App的办法
  7. MyBatis作业,以下三个问题,任选两个作答
  8. 一次空指针异常Exception in thread “main“ java.lang.NullPointerException
  9. 合肥网络可视对讲系统服务器,【IP网络可视对讲系统(可基于互联网,局域网,云平台)】 - 太平洋安防网...
  10. Win10 隐藏左侧边侧栏(导航窗口)中的文件夹