一、通用语法

1、MySQL数据库的SQL语句不区分大小写

2、可以用/**/完成注释

3、常用数据类型

类型 描述
int 整型
double 浮点型
varchar 字符串型
date 日期类型,格式为yyyy-mm-dd,只有年月日没有时分秒

二、数据库操作

1、创建数据库

CREATE DATABASE 数据库名;
e.g
CREATE DATABASE hospital;

2、查看数据库

①查看数据库MySQL服务器中所有数据库

SHOW DATABASES;
/*查看数据库MySQL服务器中所有数据库*/

②查看某个数据库定义的信息

SHOW CREATE DATABASE 数据库名;

e.g
SHOW CREATE DATABASE hospital;

3、删除数据库

DROP DATABASE 数据库名;
e.g
DROP DATABASE hospital;

4、切换数据库

USE 数据库名;
e.g
USE hospital;

三、表操作

1、创建表

CREATE TABLE 表名(
字段名 类型(长度) 约束,
字段名 类型(长度) 约束,
); e.g
CREATE TABLE doctor(
id INT PRIMARY KEY,
name VARCHAR(20) NOT NULL,
);

2、查看表

①查看数据库中的所有表

SHOW TABELS;

②查看表结构

DESC 表名;
e.g
DESC doctor;

3、删除表

DROP TABLE 表名;
e.g
DROP TABLE doctor;

4、修改表

①添加列

ALTER TABLE 表名 ADD 列名 类型(长度) 约束;
e.g
ALTER TABLE doctor ADD title VARCHAR(20);
/*给医生表添加职称字段*/

②修改列类型长度及约束

ALTER TABLE 表名 MODIFY 列名 类型(长度) 约束
e.g
ALTER TABLE doctor MODIFY title VARCHAR(50) NOT NULL;

③修改列名

ALTER TABLE 表名 CHANGE 旧列名 新列名 类型(长度) 约束;
e.g
ALTER TABLE doctor CHANGE title doctitle VARCHAR(30);

④删除列

ALTER TABLE 表名 DROP 列名;
e.g
ALTER TABLE doctor DROP title;

⑤修改表名

RENAME TABLE 表名 to 新表名;
e.g
RENAME TABLE doctor to nurse;

四、数据操作

1、增加数据

INSERT INTO 表名 [(字段列表)] VALUES (值列表);
e.g
INSERT INTO doctor VALUES('001', '张三', '主治医师');

如果遇到主键冲突(即插入数据时,主键对应的值已经存在),可以选择更新或替换。

①更新

INSERT INTO 表名[(字段列表:包含主键)] VALUES(值列表) DUPLICATE KEY UPDATE  字段 = 新值;
e.g
/*假如说表中001已经是张三医生了,我现在要改成李四*/
INSERT INTO doctor VALUES('001', '李四', '实习医生') DUPLICATE KEY UPDATE name = '李四';

②替换

REPLACE INTO 表名 [(字段列表:包含主键)] VALUES(值列表);
e.g
REPLACE INTO doctor VALUES('001', '李四', '实习医生');

2、更新数据

UPDATE 表名 SET 字段 = 值 [WHERE条件][LIMIT更新数量];
e.g
/*把职称是实习医生的前三个人改成主治医师*/
UPDATE doctor SET tilte = '主治医师' WHERE title = '实习医生' LIMIT 3;

3、删除数据

DELETE FROM 表名 [WHERE条件][LIMIT数量];
e.g
/**/
DELETE FROM 表名 WHERE title = '实习医生' LIMIT 10;

4、查询数据

SELECT 字段列表/(*所有字段) FROM 表名 [WHERE条件]

①去重

DISTINCT

②WHERE子句

比较运算符: >, <, >=, <= ,!= ,<>, =, like, between and, in/not in

逻辑运算符: &&(and), ||(or), !(not)

③分组

GROUP BY 字段名

分组即根据某个字段进行分组(相同的放一组,不同的分到别的组,主要是为了统计数据),以下是数据统计函数:

COUNT():统计分组后的记录数,每一组有多少记录
MAX():统计每组的最大值
MIN():统计最小值
AVG():统计平均值
SUM():统计和

分组条件判断需要用:

HAVING

④排序

ORDER BY 字段名 [ADC|DESC];
/*ADC升序(默认),DESC降序*/

⑤限制数量

LIMIT 数据量;
/*只用来限制长度*/ LIMIT 起始位置, 长度;
/*限制起始位置和数量*/

五、连接查询

1、内连接:组合两个表中的记录,返回关联字段相符的记录。

左表 [INNER]JOIN 右表 ON 左表.字段 = 右表.字段;
e.g
dector AS dc INNER JOIN department dp ON dc.id = dp.id;

如果没有ON的话系统会保留所有结果,即两个表的笛卡尔积。

2、左外连接:左表的记录会全部显示出来,右表只会显示符合搜索条件的记录,右表记录不足的地方均为NULL。

左表 LEFT JOIN 右表 ON 左表.字段 = 右表.字段;
e.g
dector AS dc LEFT JOIN department dp ON dc.id = dp.id;

3、右外连接:左表只会显示符合搜索条件的记录,右表的记录将全部显示,左表记录不足的地方均为NULL。

左表 RIGHT JOIN 右表 ON 左表.字段 = 右表.字段;
e.g
dector AS dc RIGHT JOIN department dp ON dc.id = dp.id;

六、视图

视图是一种有结构(有行有列)但没有结果(结构中不真实存放数据)的虚拟表,虚拟表的结构来源不是自己定义,而是从对应的基表中产生(视图的数据来源)。使用视图主要为了查询,所以把视图当做表一样查询即可。

CREATE VIEW 视图名字 AS SELECT语句

1、查看视图

DESC 视图名字;

2、使用视图

直接把视图当做表一样查询即可

3、修改视图

视图本身不可修改,但视图的来源可以修改。

ALTER VIEW 视图名 AS 新的SELECT语句

4、删除视图

DROP VIEW 视图名

MySQL语法基础的更多相关文章

  1. 学习mysql语法--基础篇(一)

      前  言  mysql  mysql语法--本篇学习都是通过使用Navicat Premium(数据库管理工具),连接mysql数据. 本篇学习主要有两个部分:    一.创建用户,创建数据库,给 ...

  2. 学习mysql语法--基础篇(二)

      前  言  mysql  mysql语法--本篇学习都是通过使用Navicat Premium(数据库管理工具),连接mysql数据. 本篇学习主要有两个部分: [SQL语句的组成]   DML ...

  3. 2019-10-10:渗透测试,基础学习,mysql语法基础,笔记

    mysql常用命令mysql -u用户名 -p,登录方式也称为,二进制方式exit 退出mysql 查看mysql版本select version(); 查看mysql所有数据库show dateba ...

  4. MySQL:基础语法-4

    MySQL:基础语法-4 记录一下 MySQL 基础的一些语法,便于查询,该部分内容主要是参考:bilibili 上 黑马程序员 的课程而做的笔记,由于时间有点久了,课程地址忘记了 上文MySQL:基 ...

  5. MySQL:基础语法-3

    MySQL:基础语法-3 记录一下 MySQL 基础的一些语法,便于查询,该部分内容主要是参考:bilibili 上 黑马程序员 的课程而做的笔记,由于时间有点久了,课程地址忘记了 上文MySQL:基 ...

  6. MySQL:基础语法-2

    MySQL:基础语法-2 记录一下 MySQL 基础的一些语法,便于查询,该部分内容主要是参考:bilibili 上 黑马程序员 的课程而做的笔记,由于时间有点久了,课程地址忘记了 上文MySQL:基 ...

  7. MySQL:基础语法-1

    MySQL:基础语法-1 记录一下 MySQL 基础的一些语法,便于查询,该部分内容主要是参考:bilibili 上 黑马程序员 的课程而做的笔记,由于时间有点久了,课程地址忘记了 关于数据库的安装操 ...

  8. mongodb linux基本启动 基础增删改 mysql语法的对比

    一.主流数据源类型 还存在自定义数据源以及REST接口数据,共6中数据源. 二.linux下启动连接数据库 进去mongodb的目录启动服务:mongo --host 192.168.320.826 ...

  9. MySQL数据库基础

    MySQL数据库基础 本文的所有操作是基于CMD环境,MySQL通过在命令行中输入SQL语句对数据库进行操作.配置问题可参考<打通MySQL的操作权限>中的内容,该文算是针对前期的环境配置 ...

随机推荐

  1. Gym 100796B Wet Boxes(思维)题解

    题意:给一个如图坐标系,每个方形都放在下面两个中间,已知一个木块湿了那么他下面所有的都会湿,显然,不能湿两次.问,每次给出一个坐标,把他弄湿,有几个木块从干变成湿了. 思路:我们把坐标系拉直,就变成了 ...

  2. 使用MCSManager搭建Minecraft服务器

    目录 一.准备工作 1.MCSManager Windows环境下安装 Linux安装 2.Minecraft服务端 3.Java 二.配置 1.登录面板 2.上传服务端 3.服务端的配置 三.开启服 ...

  3. Learning Web Performance with MDN

    Learning Web Performance with MDN Web 性能是客观的衡量标准,是加载时间和运行时的感知用户体验. https://developer.mozilla.org/en- ...

  4. ServerLess & MongoDB Atlas & REST API

    ServerLess & MongoDB Atlas & REST API ServerLess, Nodejs, MongoDB Atlas cloud 构建 REST API ht ...

  5. React Native & Android & Text Input

    React Native & Android & Text Input react native clear input value https://stackoverflow.com ...

  6. Flutter web & Flutter

    Flutter web & Flutter Google I/O 2019 recap & GDG shanghai flutter 与 Android 原生,应用应用,性能对比, d ...

  7. Intersection Observer

    Intersection Observer Intersection Observer API https://developer.mozilla.org/en-US/docs/Web/API/Int ...

  8. 星盟全球投资副总裁DENIEL SOIBIM:如何激发创造力

    丹尼尔·索比姆毕业于加州理工大学,2005年通过创建投资俱乐部对潜力公司进行天使投资,获得了美国Blue Run高层的重视,任营收专家评估师,为Blue Run项目提案做风险评估,09年与泰勒·亚当斯 ...

  9. NGK内存将为全球投资者创造新的财富增长机会

    2020年,随着BTC的持续上涨带动了整个区块链市场的持续加温,同时金融市场也对金融体制做出了改变,关于金融和区块链的结合越来越被人们所认可,在此基础上,DeFi行业借此迎来了快速发展,据不完全统计, ...

  10. 画一个PBN大角度飞越转弯保护区

      今天出太阳了,尽管街上的行人依旧很少,但心情开始不那么沉闷了.朋友圈里除了关注疫情的最新变化之外,很多人已经开始选择读书或是和家人一起渡过这个最漫长的春节假期.陕西广电网络春节期间所有点播节目一律 ...