1.navicat中的每一个操作,在本质上都对应了一个sql,你可以在工具下面找到历史日志进行查看


2.基础的sql语句
1.查看数据库:show databases;
2.切换数据库:use 数据库名
3.查看数据库中所有的表:show tables;
4.显示表中所有的信息:describe 数据库表名;
5.创建一个数据库create database 表名;
6.退出连接:exit;(强制退出ctrl+c)
7.sql本身的注释:单行注释:-- , 多行注释:/* */

操作数据库的语句
1.创建数据库:CREATE DATABASE [IF NOT EXISES] 表名;
2.删除数据库:DROP DATABASE [IF EXISES] 表名;
3.使用数据库:USE 表名 当表名为关键字或字段名是一个特殊字符时表名用`括起来。
4.查看所有的数据库:SHOW DATABASE;
5.show create table table_name; – 显示create database 语句是否能够创建指定的数据库。
6.show table status; – 显示当前使用或者指定的database中的每个表的信息。信息包括表类型和表的最新更新时间。
7.show columns from database_name.table_name; – 显示表中列名称。

数据库的列类型
1.主要常用的数值:
int 标准的整数 4个字节(最常用)
double 浮点数 8个字节
decimal 字符串形式的浮点数 金融计算的时候常用

2.字符串类型
char 字符串固定大小 0~255
varchar 可变字符串 0~65535 String类型中常用的变量
text 文本串 2^16-1 用于保存大文本

3.时间日期类型
date YYYY-MM-DD,日期格式
time HH:mm:ss 时间格式
datetime YYYY-MM-DD HH:mm:ss 最常用的时间格式
timestamp 时间戳 1970.1.1到现在的毫秒数,较为常用
year 年份表示

4.空值
没有值,未知,要注意的是,不要用null进行运算,null参加运算那么结果为null。

数据库的字段属性
Unsigned:无符号的整数,声明了该列不能为负数
zerofill :0填充的,不足的位数补0
自增:通常理解为自增,自动在上一条记录的基础上+1;通常用来设计唯一的主键~index,必须是长整数类型
可以自定义设置主键的起始值和步长
非空:NULL not NULL
当设置为not null时,不填写值则会报错
null 如果不填写值,默认为null。
默认:设置默认的值
sex,默认值是男,如果不能指定该列的值,则会有默认的值。

创建数据库表(重点)
CREATE TABLE IF NOT EXISTS student (
id INT(4) NOT NULL AUTO_INCREMENT COMMENT ‘学号’,
name VARCHAR(30) NOT NULL DEFAULT ‘匿名’ COMMENT ‘姓名’,
pwd VARCHAR(20) NOT NULL DEFAULT ‘123456’ COMMENT ‘密码’,
sex VARCHAR(2) NOT NULL DEFAULT ‘女’ COMMENT ‘性别’,
birthday DATETIME DEFAULT NULL COMMENT ‘出生时间’,
adress VARCHAR(100) DEFAULT NULL COMMENT ‘家庭住址’,
email VARCHAR(50) DEFAULT NULL COMMENT ‘邮箱’,
PRIMARY KEY(id)
)ENGINE=INNODB DEFAULT CHARSET=utf8

创建数据表的格式
CREATE TABLE [IF NOT EXISTS] 表名(
‘字段名’ 列类型 [属性] [索引] [注释],
‘字段名’ 列类型 [属性] [索引] [注释],
‘字段名’ 列类型 [属性] [索引] [注释],
)[表类型][字符集设置][注释]

查看数据库的
查看创建数据库的操作 SHOW CREATE DATABASE 数据库名
查看创建数据表的定义语句:SHOW CREATE TABLE 表名
显示表的结构:DESC 表名

数据库类型:
数据库引擎:INNOB默认使用 安全性高,支持事务处理,多表多用户操作
MYISAM早些年使用的 节约空间,速度较快

修改表
修改表的名称:ALTER TABLE 表名 RENAME AS 新表名
增加表的列:ALTER TABLE 表名 ADD 列名 列属性
字段修改约束(定义属性的类型):ALTER TABLE 表名 MODIFY 列名 属性
eg:ALTER TABLE student MODIFY age VARCHAR(10)
修改字段的名称:ALTER TABLE 表名 CHANGE 列名 新列名 属性
eg:ALTER TABLE student CHANGE age age1 int(1);
删除表的列:ALTER TABLE 表名 Drop 列名
删除表:DROP TABLE [IF EXISTS] 表名
添加外键ALTER TABLE 表名 ADD CONSTRAINT 约束名 FOREIGN KEY(‘作为外键的列’) REFERNCES (作为外键的列);

插入操作
插入语句:INSERT INTO 表名(字段名) VALUES(‘值1’),(值2)
注意事项:①.字段和字段之间用英文逗号隔开
②.字段是可以省略的,但是后面的值必须要一一对应,不能少
③.可以同时插入多条数据,Values后面的值要用括号括起来并且用逗号隔开

修改操作
修改语句:UPDATE 表名 SET ='结果‘ WHERE =‘值’ AND =‘值’(条件)
注意事项:①列要尽量戴上``
②条件,筛选的条件,如果没有指定,则会改变所有的列
③锁哥属性之间,使用英文逗号隔开

删除操作
删除语句:DELETE FROM 表名[WHERE 条件]
注意事项:①在用DELETE FROM的时候一定要用where条件来对语句进行限制,否则将会导致整个表全部删除
②清空整个表的操作:TURNCATE 表名
③delete和turncate的区别:相同点:都能删除数据,都不会删除表结构
不同点:turncate重新设置自增列,计数器会归零 delete不会改变自动增量
turancate不会影响事务

通过delete删除的问题我们可以知道,如果重启数据库,会有以下的现象
①InnoDB 自增列会从一开始(InnoDB的数据存在内存当中,断电及失)
②MyISAM 继续从上一个自增量开始(保存在文件之中,不会因为断电就丢失)

简单查询操作
查询语句:SELECT 要查询的数据 FROM 表名
注意:①可以进行起别名操作:在字段名后或者表名后添加as,即可
eg:SELECT studentNo AS 学号,studentname AS 学生姓名 FROM student AS s;
②拼接字符串函数Concat ,可以对查询的结果进行拼接想要的字符串
eg:SELECT CONCAT(‘姓名:’,studentname) AS 新名字 FROM student

查询操作①去重:distinct 当作用于一个字段时,返回一个不重复的字段,当作用于两个字段时,只有当两个字段都相同时才删
除,否则保留。distinct必须放在开头,放到其他地方会报错
例子可看:
https://www.cnblogs.com/peijie-tech/p/3457777.html
②where子句:SELECT 数据 FROM 表名 WHERE 条件 逻辑运算符:and or not 。在where中可以用between and来
代表介于两者之间。
③模糊查询:比较运算符:Like:语法:a like b 描述:SQL匹配,如果a匹配b,则结果为真。
IN:语法: a in(a1,a2,a3) 描述:假设a在a1,a2,a3其中的一个值中,结果为真。
其中的IS NULL ,IS NOT NULL中的IS只有后面是NULL的时候才能进行判断,具体的数值是
不能进行判断的,会报错。
<=>:安全等于号,既可以进行判断NULL值,又可以进行判断普通值
④连表查询:INNER JOIN : 如果表中至少有一个匹配就返回行
LEFT JOIN:会从左表中返回所有的值,即使右表中没有匹配
RIGHT JOIN:会从右表中返回所有的值,即使左表中没有匹配
JOIN (连接的表) ON (判断的条件)连接查询
WHERE (判断的条件) 等值查询
连表查询的思路:分析需求:分析要查询的字段来自哪里,(连接查询)
确定方法:确定使用哪种查询,在7中join查询中。
确定交叉点(共有的数据),
判断的条件(共有的数据相同或者其他条件)。
当多表查询时,两张表两张表查询,然后再接下一张,不要乱。
⑤自连接:from后面添加两次自己,记得要起别名,因为都是在一张表中,所以要注意别名。
⑥limit(分页)和order by(排序):
排序:升序ASC,降序DESC 使用方法:在where后,order by 字段 ASC/DESC。
⑦子查询:在条件过多的时候,需要多次连表查询时,可以简化连表查询的步骤,在where后续
需要条件满足不了时,可以用(把查询语句括起来返回一个你想要的结果)
⑧分组和过滤SELECT subjectname,AVG(studentresult) AS 平均分,MAX(studentresult) as 最高
分,MIN(studentresult) as 最低分
FROM result as r
INNER JOIN subject as sub
ON r.subjectno = sub.subjectno
GROUP BY r.subjectno
HAVING 平均分>80

select语句大全

mysql常用函数:1.数学运算:SELECT ABS(-8) --取绝对值
SELECT CEILING(9.4) --向上取整
SELECT FLOOR(9.4) --向下取整
SELECT RAND() --返回一个0~1之间的随机数
SELECT SIGN(10) --判断一个数的符号,正的返回1,负的返回-1
2.字符串函数:SELECT CHAR_LENGTH(‘即使再小的帆也能远航’) --字符串长度
SELECT CONCAT(‘我’,‘爱’,‘你们’) --拼接字符串
SELECT INSERT(‘我爱乃琳和asoul’,1,1,‘大家’) --查询,从一个位置开始
替换一个长度出来
SELECT LOWER(‘NAILIN’) --小写字母
SELECT UPPER(‘nailin’) --大写字母
SELECT INSERT(‘nailin’,n)–返回第一次出现子串的索引
SELECT REPLACE(‘乃琳喜欢火锅’,‘火锅’,‘乃淇淋’) --替换出现的指定字
符串
SELECT SUBSTR(‘乃琳说自己是Tom’,4,5) --返回指定的子字符串,最后
一位代表截取长度
SELECT REVERSE(‘十分的好’) --反转字符串

聚合函数:COUNT():计数函数 COUNT(expr) ,返回SELECT语句检索的行中expr的值不为NULL的数量

SUM(): 求和函数
AVG():平均值函数
MAX():最大值
MIN():最小值
3.流程控制函数
IF结构:在SELECT 其他值 IF(判断语句,‘正确返回值’,‘错误返回值’) from 表名;
首先进行判断,如果此判断表达式正确,则返回正确返回值,否则返回错误返回值
CASE结构1: SELECT 其他值
CASE 要判断的字段或者表达式
when 常量1 then 要显示的值1或者表达式
when 常量2 then 要显示的值1或者表达式
when 常量3 then 要显示的值1或者表达式
else 要显示的值n或者语句n;
end
from 表名;
CASE结构2:SELECT 其他值
CASE
when 条件1 then 要显示的值或者语句
when 条件2 then 要显示的值或者语句
when 条件3 then 要显示的值或者语句
else 要显示的值或者语句
end

事务

对于事务ACID的理解:
参考博客链接https://blog.csdn.net/dengjili/article/details/82468576
这个讲的好,一致性,原子性, 隔离性,持久性。
原子性:要么都成功,要么都失败
一致性:事务前后的数据完整性要保持一致
隔离性:事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多
个并发事务之间要相互隔离。
持久性:事务一旦提交则不可逆,被持久化到数据库中。

mysql事务管理代码
mysql是默认开启事务自动提交的
SET autocommit = 0; 关闭自动提交
SET autocommit = 1; 开启自动提交

手动处理事务
SET autocommit = 0; 关闭自动提交

事务提交
START TRANSACTION 标记了一个事务的开始,从这个之后的sql都在一个事务内

INSERT XX
INSERT XX

–提交:持久化(成功!)
COMMIT
–回滚:回到原来的样子(失败!)
ROLLBACK

–事务结束
SET autocommit = 1 开启自动提交

–了解
SAVEPOINT 保存点名 --设置一个事务的保存点
ROLLBACK TO SAVEPOINT 保存点名 --回滚到保存点

测试事务实现转账
START Transaction

UPDATE account SET money=money-500 WHERE name = ‘A’;
UPDATE account SET money=money+500 WHERE name = ‘B’;

COMMIT;
ROLLBACK;
SET autocommit = 1;

SELECT * FROM account;

索引分类:

主键索引(PRIMARY KEY)
唯一的标识,主键不可重复,并且每一个表只能有一个列作为主键
唯一索引(UNIQUE KEY)
避免重复的列出现,唯一索引可以重复,多个列都可以标识为唯一索引
常规索引(KEY/INDEX)
默认的,index,key来设置关键字
全文索引(FULLTEXT)
在特定的数据库引擎下才有:MyISAM
快速定位数据

索引命令:
显示所有的索引信息
SHOW INDEX FROM 表名

Mysql数据库和navicat相关推荐

  1. mysql数据库应用软件navicat快捷键

    mysql数据库应用软件navicat快捷键 navicat快捷键 ctrl+F 搜索本页数据 Ctrl+Q 打开查询窗口 Ctrl+/ 注释sql语句 Ctrl+Shift +/ 解除注释 Ctrl ...

  2. 12c安装默认密码_如何安装MySQL数据库和navicat客户端?

    如何安装数据库? MySQL数据库用于存放数据,客户端navicat是为了方便操作数据库而设计的一种图形化软件. 只要电脑上安装了客户端,在任何地方打开电脑,都可以使用客户端连接到MySQL数据库. ...

  3. 只安装mysql数据库客户端吗_如何安装MySQL数据库和navicat客户端?

    如何安装数据库? MySQL数据库用于存放数据,客户端navicat是为了方便操作数据库而设计的一种图形化软件. 只要电脑上安装了客户端,在任何地方打开电脑,都可以使用客户端连接到MySQL数据库. ...

  4. mysql数据库工具Navicat常用快捷键介绍

    Navicat快捷键: Ctrl+Q           打开查询窗口 Ctrl+/            注释sql语句 Ctrl+Shift +/  解除注释 Ctrl+R           运 ...

  5. 搭建阿里云Windows版服务器+使用宝塔安装MySQL数据库+本地Navicat访问数据库(增删改查)——详细流程

    阿里云Windows服务器建设MySQL数据库流程 一.需要准备 1. 购买阿里云服务器选型 2.本机电脑远程登录 3. 购买域名(按项目需求添加) 二.搭建过程: 1. 安装宝塔面板 2. 回到本机 ...

  6. java jdbc 连接mysql数据库 实现增删改查

    好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...

  7. mysql数据库管理工具(navicat for mysql) 10.1.7 绿色中文版

    最新版navicat for mysql,自带注册码.已经绿化,解压到任意目录就可运行. 下载地址:http://www.cr173.com/soft/38153.html Navicat Premi ...

  8. 数据库|MySQL数据库基础(一)

    欢迎点击「算法与编程之美」↑关注我们! 本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章. 欢迎加入团队圈子!与作者面对面!直接点击! 问题描述 数据的储 ...

  9. MySQL数据库实训题_实训六 MySql数据库编程练习

    实训六MySql数据库编程练习 一.实训目的 1.掌握Mysql数据库.Navicat  for Mysql等软件的安装配置方法. 2.掌握使用JDBC驱动程序连接MySql数据库的使用方法. 3.掌 ...

最新文章

  1. Windows Phone 网络HttpWebRequest用法
  2. mysql 1366 utf8_mysql出现ERROR 1366 (HY000):的解决办法
  3. String类的使用 Part2
  4. 【数据库学习】——数据库可视化--Navicat下载安装连接教程
  5. 127. Word Ladder
  6. Object.create()和new object()和{}的区别
  7. JVM专题之垃圾回收器
  8. 解决vscode中Module ‘torch‘ has no ‘xxx‘ member的烦人错误
  9. 普通交换机上的网卡绑定
  10. 深入解读HBase2.0新功能之高可用读Region Replica
  11. html embed高度自适应,腾讯优酷视频分享iframe,embed高度多种比例控制
  12. MLX90614红外测温传感器使用arduino采集温度数据OLED显示
  13. 漫漫Java学习路,第十四天
  14. python wgs84坐标转换_python WGS84和ECEF坐标的转换
  15. 微信公众号 多台服务器,在多台 Linux 服务器上搭建 Pulsar 集群
  16. n个节点互异的拉格朗日插值基函数之和等于一证明
  17. 第一章 集总参数电路中电压、电流的约束关系
  18. 映射和反射的概念及应用方法
  19. 微信摇一摇插件ios_iOS摇一摇手机,播放微信摇一摇音效
  20. IBM笔记本选购注意事项(笔记本是一个大物品,所以会三思而后行的)

热门文章

  1. cocos2dx在Android studio运行 以及在 Android 平台上使用 JavaScript 直接调用 Java 方法
  2. Python爬虫开源项目代码(爬取微信、淘宝、豆瓣、知乎、新浪微博、QQ、去哪网 等等)...
  3. 亿可控_第1章_系统分析与设计
  4. 【在华为做OD的日子】初出茅庐
  5. [开关电源]浪涌电流有点高?我来给你支支招
  6. HttpProxy网络请求代理
  7. linux 调整cpu使用率,linux下限制CPU使用率的3种方法
  8. 基于安卓/android/微信小程序的学生考勤签到APP-#计算机毕业设计
  9. 一键修改计算机名和用户名,电脑用户名怎么改_电脑用户名(计算机名)修改方法_牛游戏网...
  10. 如何检查NAS硬盘有坏没有