mysql数据库常用操作
目前最流行的数据库:
oracle、mysql、sqlserver、db2、sqline
--:单行注释
#:也是单行注释
/* 注释内容*/:多行注释
mysql -uroot -p密码:登录mysql
service mysqld restart
重启mysql
/etc/my.cnf
mysql的配置文件
/var/lib/mysql
mysql数据库的数据库文件存放位置
/var/log
mysql的数据库的日志输出存放位置
create database 库名 default character set =utf8;:创建数据库
show databases:查看所有数据库
drop database 数据库名:删除数据
备份的语法一:
Mysqldump –uroot –p 要备份哪个数据库 > 备份到哪去的路径;
备份语法二:
Mysqldump –uroot –p - -database 要备份哪个数据库 > 备份到哪去的路径;
source+sql文件:恢复数据库
use 数据库名称:使用业务数据库
show tables:查看业务数据库下有多少张表格
desc 表名:描述表结构
建表语法:
create table 表名字 (列名 数据类型,l列名2 数据类型,…,列名n 数据类型)Engine=INNODB charset=utf8;
表创建好过后添加一列或者多列:
ALTER TABLE 表名 ADD (列名 数据类型,…,列名n 数据类型);
换列名语法:
Alter table 表名 change column 原有的列名 新的列名 对应的数据类型
删除列:
alter table 表名 drop column 要删除的列
给列添加注释:
Alter table 表名 modify column 列名 对应数据类型 comment ‘你要注释的内容’
添加数据语法:
insert into 表名(列1,列2...列n) values(值1,值2,...值n)
一次增加多条数据:
Insert into 表名(列1,列2,..,列n) values (值1,值2,…..,值n), (值1,值2,…..,值n)
修改数据:
update 表名 set 列名=值 where 条件
Update 可以一次修改多列:
Update 表名 set 列1=值1,列2=值2 where 条件
删除数据:
delete from 表名 where 条件
删除整张表的数据:
truncate table 表名
删除数据库:
drop
添加默认值:
create table 表名(列名称 数据类型 default 默认值)
添加非空约束的语法:
alter table 表名modify column 列名 对应的数据类型 not null;
给表添加主键约束:
Alter table表名 add constraint primary key PK_表名_需要添加约束的列名 (要添加约束的列)
给表添加外键约束:
alter table 表名add constraint foreign key fk_表名 _列名 (需要添加约束的列)references 引用的表 (引用的是哪一列)
Select * from 表名: 查询这张表里面的所有数据
Select 列名1,…,列名n from 表名:多列查询
select 列名 from 表名:单列查询
Select 列名1 as 别名1,列名n as 别名n from 表名:查询的时候命名别名
Select distinct(需要去除重复的列) from 表名:去重查询(只能是单列去除重复)
select * from 表名 where 条件:带条件查询
SQL一共由四个部分组成:
DQL 数据查询语言 select
DML 数据操作语言 insert,update,delete
DDL 数据定义语言 create,drop,alter
DCL 数据控制语言 grant,revoke,commit,rollback
Between and : 在……之间
Select * from 表名 where 列名 in (范围):在范围内取值
Select * from 表名 where 列名 is null:判断该列是否有空值
Select * from 表名 where 列名 is not null:判断该列是否有非空的值;
select * from 表名 where 列名 like ‘_或者%值’:模糊查询
_只匹配一个字符
%匹配任意个字符
数据库里面的排序order by
Order by后面可以跟上两个单词 ASC DESC
语法:select * from 表名 order by 要排序的列;
select * from 表名 limit m,n:从m行开始 取n行显示
表连接语法:
内链接语法:Select * from 表1 join 表2 on 主键=外键
左外链接语法:Select * from 表1 left join 表2 on 主键=外键
右外链接语法:Select * from 表1 right join 表2 on 主键=外键
表连接:
第一步:看这几张有没有相同的列
第二步:确定这个列是哪张表的主键
第三步:确定好了过后直接写on 主键=外键
第四步:修改*,把*号换成一些需要显示列
自连接:
第一步:将张表以命名别名的方式拆分成两张表
第二步:找准筛选出垃圾数据的关系
第三步:分清左边的数据来自于哪张表,右边的数据来自于哪张表
第四步:才开始写 on 主键=外键
第五步:换*号,显示需要展示出来数据
字符函数:
concat(列1,'字符'); 合并函数
select concat(userName,userPwd) '用户名和密码' from user;
select concat('Hello','World') from dual;
日期函数:
sysdate(); 查询当前系统时间函数
select sysdate() from dual;
select * from user;
dual??
dual是数据库为了让我们试验函数的作用或者功能所提供的一张伪表;
伪表就是实际上不存在,但是在数据库当中依然可以使用,表名就叫dual
转换函数
数字函数
其它函数
统计函数,又称聚合函数,专门为了统计某一列的值而研发出来的函数
count 统计某一列的非空总行数
sum 统计某一列的总和
max 统计某一列的最大值
min 统计某一列的最小值
avg 统计某一列的平均值
count可以忽略列的数据类型
avg sum max min 只能用于数字类型只上;
having 与where的区别:
相同点:having和where都是用于条件筛选
不同点:having多与group by 结合使用,用于分组过后的条件筛选where用于分组之前的筛选
子查询语法:
Select * from 表名 where 列名 in (Select 相同列 from 表名)
Select * from 表名 where 列名 比较运算符 (select 数字列 from 表名)
注意点:如果在where后面嵌套了子查询,一定要记得把 * 号换成where 后面的那个列名
添加索引的语法:
Alter table 表名 add 索引的类型 索引的名字 (需要添加索引的列)
ALTER TABLE `orderdetail`
ADD INDEX `orderdetailNum` (`orderdetailNum`) ;
删除索引的语法:
Alter table 表 drop 索引类型 索引的名字
事务:
Set autocommit=0;
关闭自动提交,开启事务
Set autocommit=1;
开启自动提交,关闭事务;
start transaction; -- 开启一个事务点;记录原有表中的数据,如果一旦出错,直接回到这个事务点之上
set autocommit=0; -- 开启事务
视图:就是一张虚拟表格里面存储了查询结果;
特点:隐藏真正的表名,让人不知道你的表名或者列名真正叫什么
创建试图的语法:create view 视图名字 as 查询语句
删除视图语法:drop view 视图名字
mysql查询表内所有列名,并用逗号分隔:
SELECT GROUP_CONCAT(COLUMN_NAME SEPARATOR ",") FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = '数据库名称' AND TABLE_NAME = '表名'
当行内容过长时,尾部+\G 将结果以垂直方向输出。
mysql> select * from db_archivelog\G
清空自增列的值:
alter table mr_city AUTO_INCREMENT=1;
mysql数据库常用操作的更多相关文章
- DBA必备:MySQL数据库常用操作和技巧
DBA必备:MySQL数据库常用操作和技巧 2011-02-25 15:31 kaduo it168 字号:T | T MySQL数据库可以说是DBA们最常见和常用的数据库之一,为了方便大家使用,老M ...
- MySQL数据库常用操作和技巧
MySQL数据库可以说是DBA们最常见和常用的数据库之一,MySQL的广泛应用,也使更多的人加入到学习它的行列之中.下面是老MySQL DBA总结的MySQL数据库最常见和最常使用的一些经验和技巧,分 ...
- Mysql数据库常用操作语句大全
零.用户管理: 1.新建用户: >CREATE USER name IDENTIFIED BY 'ssapdrow'; 2.更改密码: >SET PASSWORD FOR name=PAS ...
- Mysql数据库常用操作整理
0.说明 MySQL数据库是一个十分轻便的数据库管理系统,相比大型的数据库管理系统如Oracle,MySQL更拥有轻便.灵活.开发速度快的特色,更适用于中小型数据的存储与架构,被数以万计的网站采用.从 ...
- Linux下MySql数据库常用操作
1.显示数据库 show databases; 2.选择数据库 use 数据库名; 3.显示数据库中的表 show tables; 4.显示数据表的结构 describe 表名; 5.显示表中记录 S ...
- MySQL数据库 常用操作
1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2:创建一个数据库MYSQLDATA mysql> CREATE DATABASE M ...
- MySQL数据库常用操作入门
一.MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品.在WEB应用方面,MySQL是最好的RDBMS应用软件.MySQL体积小.速度快.总 ...
- MySQL数据库常用操作语法
1. 数据库初始化配置 1.1. 创建数据库 create database apps character set utf8 collate utf8_bin;创建数据库”app“,指定编码为utf8 ...
- java数据库 JDBC操作MySQL数据库常用API 部门表和员工表 创建表 添加数据 查询数据
package com.swift.department; import java.sql.Connection; import java.sql.PreparedStatement; import ...
随机推荐
- 使用canvas输出base64_url
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 使用py2exe将python程序打包成exe程序
近日帮朋友写了个python小程序,从互联网上抓取一些需要的文章到本地.为了运行方便,希望能转换成exe程序在windows下定期执行.从百度上找了些文章,发现py2exe的应用比较多,遂使用之. 1 ...
- Can't connect to X11 window server using 'localhost:10.0' as the value of the DISPLAY variable.
刚刚在一台Linux服务器上安装了jdk和Tomcat,然后部署了一个web项目,在项目中有个添加图片的功能,保存图片时报错 org.springframework.web.util.NestedSe ...
- 学习笔记 - Manacher算法
Manacher算法 - 学习笔记 是从最近Codeforces的一场比赛了解到这个算法的~ 非常新奇,毕竟是第一次听说 \(O(n)\) 的回文串算法 我在 vjudge 上开了一个[练习],有兴趣 ...
- margin中的bug解决方法
margin bug问题 : 当做子元素中使用margin-top: 50px;父子元素都会跑出50px, 解决方法: 在父元素中使用下面三种任意一种都可以. 方法一:给父元素加边框 border: ...
- 帆软SQL报异常:多表连接的时候出现错误:未明确定义列
我刚开始的代码: select dm_veh_jdcgz_mx.DAY_ID ,--日期 dm_veh_jdcgz_mx.GLBM ,--管理部门ID dm_veh_jdcgz_mx.SFZMHM , ...
- 如何制作 Ubuntu 系统的 USB 启动盘
下载 Ubuntu 打开 http://mirrors.ustc.edu.cn 获取安装镜像 --> 获取 ISO 刻录 Ubuntu 到 U 盘 打开 http://rufus.akeo.ie ...
- 浅谈fail-fast机制
fail-fast机制即为快速失败机制,个人认为是一种防护措施,在集合结构发生改变的时候,使尽全力抛出ConcurrentModificationException,所以该机制大部分用途都是用来检测B ...
- Maximum sum
描述 Given a set of n integers: A={a1, a2,-, an}, we define a function d(A) as below: t1 t2 d(A) = max ...
- 北京Uber优步司机奖励政策(3月31日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...