特别提示  本说明中的mysql 是基于windwos平台下的5.5 版本

安装完成后 请到mysql中设置配置文件  

链接分享:链接:https://pan.baidu.com/s/1tv4ulZW1iUVl0ukn5WtV6w
提取码:rso9
(永久有效)

本篇教程的主要目的为  好记性不如烂笔头  增加自身今后学习的备忘录

学习之前 对几个关键性的关键字(语义同单词)  !!! 熟记 !!!

alter 修改

insert 插入

create 创建

delete 删除

update 更新

select 查询

drop 移除 / 停止

add 增加

show 显示
IF   如果

table  表

database  数据库

from  从某某某.. / 对.某某某..

set  设置

on  多张表的连接操作


学习命令笔记:

windwos下的       cls  清屏命令

mysql 登录命令  mysql -u账户  -p密码  --prompt参数
--prompt  是进行提示符 修改
DELIMITER 修改结束符 可在登录时进行此修改 亦可通过进入mysql后修改 prompt 参数
参数 描述
\D 完整的日期
\d 当前数据库
\h 服务器名称
\u 当前用户

 数据库

创建数据库  create database 数据库名称  character set= 编码方式;

修改数据库  alter database 数据库名称  character set =编码方式;

删除数据库  drop  database 数据库名称;

显示所有数据库  show  databases;

打开数据库 USE 数据库名称;

查询当前打开的数据库  SELECT DATABASE();

查询当前数据库的详细信息  SHOW CREATE DATABASE 数据库名称;

数据表数据操作

创建表 CREATE TABLE 表名【IF NOT EXISTS】(列名称 列类型,....);

查看数据库所有表 SHOW TABLES [  FROM 表名 ] [ LIKE '条件'   |   WHIERE expr  ];  也可查询关于某一数据库下的表

查看表结构 SHOW COLUMNS FROM 表名;

查看表 的索引 SHOW INDEXES FROM 表名【\G】;[\G] 表示以网格形式出现

插入记录1:
INSERT [ INTO ] 表名 [ (列名,...) ] VALUES(值域,...),(值域,....); 如果省略掉列名 就要为所有的列赋值 且NOT NULL 的值一定要赋值 插入记录2: 可用于子查询
INSERT [ INTO ] 表名 SET 列名= { 值 | DEFAULT },列名 ={值 | DEFAULT }..... 插入记录3: 将查询的结果写入数据表
INSERT [ INTO ] 表名 [ ( 列名,列名,... ) ] SELECT ... 删除记录(单表)
DELETE FROM 表名 WHERE 条件; 更新记录(单表)
UPDATE 表名 SET 列名 = { 值 | DEFAULT },列名1 = { 值 | DEFAULT },列名2 = { 值 | DEFAULT }... WHERE 条件; 查询记录
SELECT 表达式 [ 列名,... ] FROM 表名 WHERE 条件 ; * 为字段过滤
查询记录的别名的使用
 原名 as 别名

修改数据表

增加列   ALTER TABLE 数据表 ADD 列名 约束 【FIRST | AFTER】 列名;

  默认插入到所有列名后 可通过 FIRST | AFTER  修饰

  FIRST 将插入到所有列名前

  AFTER 插入到指定列名后    如果不指定列名 插入到所有列名后

  添加多列  添加多列不能指定位置关系

      ALTER TABLE 数据表 ADD (列名 类型 约束 ,列名 类型 约束,......)

删除列   ALTER TABLE 数据表 DROP  列名 ;

    删除多列  ALTER TABLE 数据表 DROP  列名 , DROP 列名 ;

    如果像同时操作删除或者添加 只需要用, 分隔

      例: ALTER TABLE 数据表 add 列名 类型 约束 , drop 列名;

      允许新增多列的时候 进行删除操作

      例:ALTER TABLE users ADD (a1 TINYINT not null,a2 TINYINT NOT NULL) ,drop m;
修改列定义

可修改类型  也可添加位置关键字  如果不填  将保持当前位置
修改类型时:将大类型改到小类型有可能造成数据丢失 AFTER TABLE 表名 MODIFY [column ] 列名 类型 【first | AFTER 列名】;
修改列名称

原理同 修改列定义
ALTER TABLE 表名 CHANGE [ COLUMN ] 待修改列名称 列新名称 类型 【 FIRST | AFTER 列名】;
数据表更名

方法1:

AFTER  TABLE 数据表名称 RENAME 新名称;

方法2:
可同时修改多个
RENAME TABLE 数据表名称 TO 新名称 【,数据表名称 TO 新名称,数据表名称 TO 新名称......】

约束

NULL            为空

NOT NULL   不能为空  设置为空时 应在字段类型后设置  如: alter table 表名  add 列名  类型  NOT NULL ....

AUTO_INCREMENT  自动编号 必须和主键配合使用  其实值为1 每次增量为1   每次插入记录时  可在值域内 写NULL 或 DEFAULT 

主键约束

每张表 只能存在一个主键

主键保证记录的唯一性

主键自动为NOT NULL

PRIMARY KEY

唯一约束

唯一约束保证记录的唯一性

唯一约束的字段可以为NULL

每张表可以存在多个唯一约束

UNIQUE KEY

默认约束

DEFAULT  插入记录时 如果没有为字段赋值 则使用默认值
索引关键字  FOREIGN KEY(列名) REFERENCES 参照表  (参照表的列名)
外键约束条件 :(存在外键列的为子表   参照列为父表)

1、父表和子表必须使用相同的INNODB数据引擎

2、如果外键约束列为数字 则必须类型和符号位都相同  如果是字符 则不要求长度相同

3、外键列和参照列必须创建索引     主键会自动创建索引

4、如果外键列不存在索引的话 将自动创建索引

 5、外键约束参照操作

  CASCADE 父表删除将影响字表

  SET NULL 从父表删除将设置字表为NULL   且字表不能是NOT NULL 约束

  RESTRICT  拒绝父表更新

  NO ACTION 拒绝父表更新 同 RESTRICT  此为标准sql 关键字

修改约束

添加主键约束
AFTER TABLE 表名 ADD [ CONSTRAINT [ 名称 ] ] PRIMARY KEY [索引](列名);
删除主键约束
AFTER TABLE 表名 DROP PRIMARY KEY; 添加唯一约束
可同时添加多行
AFTER TABLE 表名 ADD [ CONSTRAINT [ 名称 ] ] UNIQUE [ INDEX / KEY ] (列名,列名,列名....);
删除唯一约束
AFTER TABLE 表名 DROP {INDEX | KEY} 列名; 添加外键约束
AFTER TABLE 表名 ADD [ CONSTRAINT [ 名称 ] ] FOREIGN KEY (列名,列名....)
REFERENCES 参照表名 (参照表列名,....)
删除外键约束
AFTER TABLE 表名 DROP FOREIGN KEY 列名; 添加/删除默认索引
AFTER TABLE 表名 ALTER 列名 { SET DEFAULT 值 | DROP DEFAULT };

函数

CREATE FUNCTION 函数名称( [函数参数] ) RETURNS 返回类型
[BEGIN]
RETURN
执行语句
[NED] 说明:
如果有多个语句可使用BIGIN - END 组合复合语句 在待返回的语句前加RETURN 以返回值
在BIGIN - END 前加RETURN 会报错!!!

整型

数据类型 (整型) 存储范围
TINYINT 1字节
SMALLINT 2
MEDIUMINT  3
INT 4
BIGINT 8
TINY

SMALL

MEDIUM

BIG

UNSIGEND 无符号类型

浮点型

数据类型(浮点型) 存储范围
float 【(M,D)】 可保留大约七位小数
double【(M,D)】  

M表示 总位数 D表示小数位数


日期时间型

类型 存储要求
YEAR 1 年份  1970~2069
TIME 3 时间类型 -8385959~8385959
DATE 3 日期 1000年1月1日~9999年的12月31日
DATETIME 8 日期时间 10000年1月1日0点~9999年的12月31号59分59秒
TIMESTAMP 4 时间戳  1970年1月1日0点~2037年

字符型

类型 存储需求
CHAR(M) 定长    M个字节 0<=M<=55
VARCHAR(M) 变长   0<=M<=65535
TINYTEXT L+1个字节 L<28
TEXT   L+2个字节 L<216
MEDIUMTEXT L+3个字节 L<224
LONGTEXT L+4个字节 L<232
ENUM('',''...) 1或者2个字节 取决于枚举的个数  枚举
 SET('','',...) 1、2、3、4、8个字节 取决于SET成员的数目 最多64个成员 集合

关于mysql的使用命令(持续更新中...)的更多相关文章

  1. Mysql注入小tips --持续更新中

    学习Web安全好几年了,接触最多的是Sql注入,一直最不熟悉的也是Sql注入.OWASP中,Sql注入危害绝对是Top1.花了一点时间研究了下Mysql类型的注入. 文章中的tips将会持续更新,先说 ...

  2. Linux常用命令(持续更新中)

    cd 目录名 :进入某个目录 ls :列出当前目录的内容 locate 文件名/目录名:寻找文件.目录 find 目录名1 -name 文件名/目录名2 :在目录1中寻找目录2 whereis  文件 ...

  3. Linux 基础命令 持续更新中...

    1.ls 显示当前文件/文件夹 显示文件大小: ls -lh  显示隐藏文件: ls -a 显示文件详细信息: ls -l (ll)2.pwd 显示当前所在路径 cat 显示当前文件下所有内容3.cd ...

  4. 常用的几个Dos命令-持续更新中

    1.服务相关 (1).查看服务 C:\Windows\system32>net start 已经启动以下 Windows 服务: (2).启动服务 C:\Windows\system32> ...

  5. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  6. 【github&&git】4、git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  7. java视频教程 Java自学视频整理(持续更新中...)

    视频教程,马士兵java视频教程,java视频 1.Java基础视频 <张孝祥JAVA视频教程>完整版[RMVB](东西网) 历经5年锤炼(史上最适合初学者入门的Java基础视频)(传智播 ...

  8. 史上最全的spark面试题——持续更新中

    史上最全的spark面试题——持续更新中 2018年09月09日 16:34:10 为了九亿少女的期待 阅读数 13696更多 分类专栏: Spark 面试题   版权声明:本文为博主原创文章,遵循C ...

  9. 2020年腾讯实习生C++面试题&持续更新中(3)

    2020年腾讯实习生C++面试题&持续更新中(3) hello,大家好,我是好好学习,天天编程的天天. 来给大家大家分享腾讯实习生面经了. 天天希望大家看到面经后一定要做充分的准备,结合自己掌 ...

  10. 2020年腾讯实习生C++面试题&持续更新中(1)

    2020年腾讯实习生C++面试题&持续更新中(1) 腾讯面试整理(1) 最近大三的学生找实习生的同学非常多,给大家分享一篇腾讯实习生的面试题,关于面试题,会持续更新~~~ 也算是今天开通博客的 ...

随机推荐

  1. Tensorflow 2.0 学习资源

    我从换了新工作才开始学习使用Tensorflow,感觉实在太难用了,sess和graph对 新手很不友好,各种API混乱不堪,这些在tf2.0都有了重大改变,2.0大量使用keras的 api,初步使 ...

  2. Linux openssh8.0p1升级步骤

    前期准备开启本机telnet服务,以防openssh升级失败无法连接服务器.注:redhat 5 6 和 redhat7 开机启动配置相关文件不同,请注意 1.安装zlibtar -xzvf zlib ...

  3. 做股票软件用的各种k线图

    这是各种k线图地址: http://echarts.baidu.com/echarts2/doc/example.html 个人公众号谢谢各位老铁支持 本人qq群也有许多的技术文档,希望可以为你提供一 ...

  4. spring动态调用方法

    有的时候为了程序的灵活性,需要根据参数动态的调用方法.代码框架大致spring为主,下面是具体代码: 接口: 实现类(实现类中有一个从spring容器中取的对象) 这是最初我直接用反射去调用的代码: ...

  5. Spring Boot 整合Spring Data JPA

    Spring Boot整合Spring Data JPA 1)加入依赖 <dependency> <groupId>org.springframework.boot</g ...

  6. 【leetcode】1106. Parsing A Boolean Expression

    题目如下: Return the result of evaluating a given boolean expression, represented as a string. An expres ...

  7. asp.net mvc大文件上传、断点续传功能。

    文件夹数据库处理逻辑 publicclass DbFolder { JSONObject root; public DbFolder() { this.root = new JSONObject(); ...

  8. luogu P1036 选数 x

    P1036 选数 题目描述 已知 n 个整数 x1,x2,…,xn,以及一个整数 k(k<n).从 n 个整数中任选 k 个整数相加,可分别得到一系列的和.例如当 n=4,k=3,4 个整数分别 ...

  9. 3D Computer Grapihcs Using OpenGL - 03 OpenGL Buffer Data

    本节绘制一个三角形,并讲解Buffer Object-缓冲对象 OpenGL的窗口坐标 屏幕中心为坐标原点,横向朝右为x正方向,纵向朝上为y正方向,最大值最小值分别为1,-1. Buffer Obje ...

  10. centos 6.x 安装配置 node.js 环境

    下载 可以在本地下载node.js最新版,然后通过ftp工具上传到服务器,或者直接在服务器终端使用wget命令下载(我当时下载的是node-v6.11.3-linux-x64版本,其他版本请查看上面链 ...