mysql常用基础指令大全
mysql指令
启动 net start mysql
退出mysql quit
登录 mysql -uroot -p
逻辑非 not ! 逻辑与 and && 或者 or || 逻辑异或 xor
范围查询 where 字段 between 开始值 and结束值
消除重复值 distinct select distinct 字段名 from 表名
乱 码 set names gbk
创建 create database 数据库名;
查看数据库 show databases;
选择 use 数据库名;
删除 drop database 数据库名;
创建表 create table [if not exists] 表名(字段1 数据类型 [字段属性|约束][索引][注释],...)[表类型][表字符集][注释];
主键 primary key
注释 comment
查看表 select * from 表名
查看建表语句 show create table 表名;
字段约束
非空约束 not null 字段不可以为空 必填
默认约束 default 赋予某字段默认值
唯一约束 unique(uk)设置字段的值是唯一的 允许为空,但只能有一个空值
主键约束 peimary key(pk)设置该字段为表的主键可唯一标识该表记录
外键约束 foreign key(fk)用于在两表之间建立关系,需要指定引用主表的哪一字段
自动增长 auto_increment设置该列为自增字段默认每条自增1通常用于设置主键
查看表 show tables describe 表名 desc 表名
删除表 drop table if exists 表名;
设置表的引擎 engine=myisam;
查看存储引擎 show engines \g;
声明无符号数 unsigned
位数不足以0补位 zerofill
字段定义
修改表名 alter table 旧表名 rename[to] 新表名 修改表的定义
添加字段 alter table 表名 add 字段名 数据类型 [属性]
修改字段的数据类型 alter table 表名 modify 字段名 数据类型
修改字段名 alter table 表名 change 原字段名 新字段名 数据类型[属性]
修改字段位置 alter table 表名 modify 字段1 数据类型 first (字段1为第一个)||after 字段2 (将字段1插的字段2后面)
删除字段 alter table 表名 drop 字段名
删除表的外键约束 alter table 表名 drop foreign key 外键约束名
添加主键 alter table 表名 add constraint 约束名(主键) primary key 表名(主键字段)
添加外键 alter table 表名(从表) add constraint 外键名 foreign key(外键字段) references 关联表名:主表(关联字段):主表字段
添加外键:constraint 外键名 foreign key(外键字段) references 关联表名(关联字段);
ALTER TABLE t_student ADD CONSTRAINT t_cname1 FOREIGN KEY(cname) REFERENCES t_class(NAME);
t_comment 是评论表,n_id 是其字段,为n_id 添加外键,对应的关联表是t_news.
ALTER TABLE t_comment ADD CONSTRAINT n_id FOREIGN KEY(n_id) REFERENCES t_news(id)
数据操作
插入数据(单) insert into 表名[(字段名列表)] values(值列表);
插入数据(复) insert into 表名[(字段名列表)](可不写) values(值列表1),(值列表2),(值列表3)....;
数据更新 update set 字段1=值1,字段2=值2...[where条件]
建一个新表并复制数据 create table 新表名 as select * from 被复制表名 where;
通过结果集方式插入 insert into 需要复制数据的表名 select*from 被复制表名
清空表delete from 表名(是逐行删除,不会删除表结构,但是也不会重置自增);truncate table 表名(清空表,,快,会重置自增);drop table 表名(直接删除表结构)
删除数据(记录) delete from 表名 [where 条件]
修改数据(记录) update 表名 set sss=ssss where sss;
数据查询
select 字段名 from 表名 where 条件 group by 分组的字段名 having (分组筛选条件)条件 order by 排序的字段名 正序asc 倒序desc
select 字段名(用,分割字段名) from 表名 where 条件 group by 分组的字段名 having (分组筛选条件)条件 order by 排序的字段名
正序asc 倒序desc limit 位置偏移量(默认可以不写,从0开始) 行数;
函数
聚合函数
select 函数(字段) as 中文 from 表名;
avg() 返回某字段的平均值
count() 返回某字段的行数
max() 返回某字段的最大值
min() 返回某字段的最小值
sum() 返回某字段的和
字符串函数
concat('str1','str2'...) 字符串连接
insert('原字符',起始位置,终止位置,'替换字符') 字符串替换
lower('str') 将字符串转为小写
upper('str') 将字符串转为大写
substring(字符,起始位置,终止位置) 字符串截取
日期时间函数
select 函数(对象);
curdate() 获取当前时间年月日
curtime() 获取当前时间时分秒
now() 获取当前日期和时间
week(date) 返回日期date为一年的第几周
year(date) 返回日期date的年份
month(date) 返回日期的天数
hour(time) 返回时间time的小时值
minute(time) 返回时间time的分钟值
datediff(date1,date2) 返回日期参数1和2之间的天数
adddate(date,n) 计算日期参数date加上n天后的日期
数学函数
ceil(x) 返回大于或等于数值x的最小整数
floor(x) 返回小于或等于数值x的最大整数
rand() 返回0~1之间的随机数
子查询
select ...from 表1 where 字段1 比较运算符(子查询):用于嵌套在select,insert,update,delete 语句中
内连接(等值连接)
inner join 连接的表名 on 连接条件 (等值连接)
in子查询 查询结果为多头是可以用in代替= 比较运算符=只能返回单个数值
not in 反转 查询结果不为多条的
exists子查询 select ...from 表名 where exists(子查询语句)子查询结果为true时,执行外层代码 为false时外层查询不执行
not exists 子查询结果不为true时执行
嵌套子查询包括select from (where group having 可选子句 )等子句
临时表 create temporary table 表名(查询语句)
事务
事务是作为单个逻辑工作单元执行的一系列操作
多个操作作为一个整体向系统提交,要么都执行,要么都不执行
事务是不可分割的工作逻辑单元
事务具有四个属性acid
原子性:一个完整的操作,要么全部执行完毕,要么都不执行
一致性:事务完成前后,数据要保持一致状态
隔离性:事务与事务在同时运行时,不依赖影响其他事务
持久性:事务结束后,提交到数据库中的修改会被永久保存
开始事务begin 或start transaction 提交事务 commit 回滚事务 rollback
事务默认状态是自动提交,关闭|开启set autocommit=0|1,关闭后需要手动提交
视图
视图是一张虚拟表,表示一张表的部分数据或多张表的综合数据,结构和数据是建立在对表的查询基础上
,视图不存放数据,仅仅是引用原始表中的数据,一个表可以创建多个视图
视图可以用来筛选表中的行,防止未授权用户访问数据,降低数据库的复杂程度,把多个物理数据库抽象为一个逻辑数据库
创建视图 create view view_name(字段别名) as select 字段名 from 表名(可以用来修改视图)
修改视图 alter view 视图 select 字段名 from 表名
更新视图 update 视图名 set 字段重新赋值
查看定义 desc 视图名
删除视图 drop view if exists view_name
查看视图 select 字段1,字段2... from view_name 查看视图信息 show table status like'视图名'\g查看详细信息show create view 视图名\g 查看所有视图 select*from information_schema.views;
查看所有视图 use information_schema select*from views\g;
索引
创建索引 create [unique 唯一索引| fulltext全文索引| spatial 空间索引] index_name on table_name(columm_name[length]..);
删除索引 drop index index_name on table_name 该表的所有索引都同时被删除
查看索引 show index from table_name
查看库中的全部索引 use 数据库 show index from student\g
数据库备份恢复
mysqldump命令 mysql备份工具将create和insert into语句保存到文本文件 属于dos命令
mysqldump [options 选项参数] -u username 用户名 -h host 登录主机名 -p password密码
dbname备份的数据库名 [tbname1备份的表名 不写是全部]>filen.sql备份后的文件名称
恢复数据库 mysql -u root -p 数据库名 <之前备份的文件名 (DOS命令,需要创建新的数据库后使用)
恢复数据库 source filename 在mysql服务中使用需创建新数据库并选择后使用
导出仅数据信息的目标文件select*from 表名 where 条件 into outfile 硬盘路径文本文件
导入数据文件 load data infile 之前导出的文本文件 into table 表名
常用参数选项
mysql数据类型
数字
tinyint 非常小的数 有符值(-128,127) 无符值(0,255) 1字节
smallint 较小的数据 有符值(-32 768,32 767) 无符值 (0,65 535) 2字节
mediumint 中等大小的数据 有符值 (-8 388 608,8 388 607) 无符值 (0,16 777 215) 3字节
int 标准整数 有符值(-2 147 483 648,2 147 483 647) 无符值(0,4 294 967 295) 4字节
bigint 较大的整数 有符值(-9,223,372,036,854,775,808,9 223 372 036 854 775 807) 无符值(0,18 446 744 073 709 551 615) 8字节
float 单精度浮点型 有符值(-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) 无符值0,(1.175 494 351 E-38,3.402 823 466 E+38) 4字节
double 双精度浮点型 有符值(-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 无符值 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 8字节
decimal(m,d) 字符串型浮点数 有符值依赖于M和D的值 无符值 m+2字节 如果M>D,为M+2否则为D+2
字符
char[(m)] 定长字符串 m字节0-255
varchar[(m)]可变字符串 可改变长度0-65535
tinytext 微型文本串 0-255
text 文本串 0-65 535
mediumtext 0-16 777 215 bytes 中等长度文本数据
longtext 0-4 294 967 295 bytes 极大文本数据
日期
date yyyy-mm-dd 1000-01-01~ 9999-12-31
datetime yy-mm-dd hh:mm:ss 1000-01-01 00:00:00 ~9999-12-31 23:59:59
time hh:mm:ss -835:59:59 ~ 838:59:59
*timestamp yyyymmddhhmmss 1970年某时刻~2038年某时刻,精度为1秒
year yyyy 1901~2155
mysql常用基础指令大全的更多相关文章
- Linux基础(03)、常用基础指令和操作
目录 一.什么是Linux 二.常用基础指令 2.1.vi编辑 2.2.Linux文件类型 2.3.常用指令:增.删.改.查.其他 三.Linux的目录和权限 3.1.目录 3.2.权限 3.3.修改 ...
- CentOS常用基础命令大全
这篇文章主要介绍了CentOS常用基础命令大全,学习centos的朋友需要掌握的知识,需要的朋友可以参考下 1.关机 (系统的关机.重启以及登出 ) 的命令shutdown -h now 关闭系统(1 ...
- php开发面试题---Mysql常用命令行大全
php开发面试题---Mysql常用命令行大全 一.总结 一句话总结: 常见关键词:create,use,drop,insert,update,select,where ,from.inner joi ...
- mysql常用的命令大全
常用的MySQL命令大全一.连接MySQL格式: mysql -h主机地址 -u用户名 -p用户密码1.例1:连接到本机上的MYSQL.首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令 ...
- MySQL常用的指令
MySQL指令在网上百度出来的是一大堆,在此只是整理平时用的比较多的指令. 百度文库中的这篇文章可以参考http://wenku.baidu.com/view/b5e83a27ccbff121dd36 ...
- Linux常用基础指令
Linux常用指令 一.基础命令 whoami查看当前用户 pwd查看当前所在位置 ls 查看当前文件夹的内容 ls -l或ll显示详细内容 cd 绝对路径:从根目录开始的路径 cd / 文件夹 返回 ...
- Mysql常用命令行大全
第一招.mysql服务的启动和停止 net stop mysql net start mysql 第二招.登陆mysql 语法如下: mysql -u用户名 -p用户密码 键入命令mysql -uro ...
- Mysql常用命令行大全——转载
转载地址:http://www.blogjava.net/supperchen/archive/2012/10/11/389340.html 第一招.mysql服务的启动和停止 net stop my ...
- Mysql常用命令行大全(转)
第一招.mysql服务的启动和停止 net stop mysql net start mysql 第二招.登陆mysql 语法如下: mysql -u用户名 -p用户密码 键入命令mysql -uro ...
随机推荐
- dom4j——使用dom4j生成xml
使用org.dom4j.Element 创建xml /** * 生成Service.xml文件 * @param tran 交易对象 * @param filePath 文件夹路径 */ public ...
- 实验三:Linux系统用户管理及VIM配置
项目 内容 这个作业属于哪个课程 班级课程的主页链接 这个作业的要求在哪里 作业要求链接地址 学号-姓名 17043133-木腾飞 学习目标 1.学习Linux系统用户管理2.学习vim使用及配置 实 ...
- [256个管理学理论]005.羊群效应(Herd Behavior)
羊群效应(Herd Behavior) 来自于大洋彼岸的让你看不懂的解释: “羊群效应”,也叫“从众效应”,是个人的观念或行为由于真实的或想像的群体的影响或压力,而向与多数人相一致的方向变化的现象.表 ...
- NodeJS——在Sublime中配置NodeJS执行环境
这种方式比在DOS窗中直接执行更加高效!!! nodejs 1.运行Sublime,菜单上找到Tools ---> Build System ---> new Build System 2 ...
- ## H5 canvas画图白板踩坑
最近接手了一个小型的H5,最主要的功能大概就是拍照上传和canvas画板了. 主要是记录一下自己菜到像傻子一样的技术. 1.canvas画板隔空打牛!画布越往上部分错位距离越小,越往下距离越大. 2. ...
- MySQL8离线安装
现在离线安装包: 登录官网准备下载 https://dev.mysql.com/downloads/mysql/ 2,开始下载 解压安装包: 开始解压: 解压完成: 新建init文件: 在解压目录下创 ...
- jchdl - GSL实例 - Mul(无符号数的乘法)
这里实现最原始的阵列乘法,逐位相乘然后加到一起. 参考链接 https://github.com/wjcdx/jchdl/blob/edcc3e098d4f1cb21677e86e87a114 ...
- Rocket - spec - RISC-V规范整理
https://mp.weixin.qq.com/s/xP8JRhkmgUQf0QRm3S2mjA 根据RISC-V规范整理的几个文档. 1. 原文链接 https://risc ...
- 细说Java多线程之内存可见性笔记
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 说明:多线程的内存可见性涉及到多线程间的数据争用,也涉及到了多线程间的数据可见性 一.共享变量在线程间的 ...
- Java实现 LeetCode 115 不同的子序列
115. 不同的子序列 给定一个字符串 S 和一个字符串 T,计算在 S 的子序列中 T 出现的个数. 一个字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字 ...