mysql常用操作
一、什么是数据库
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
SQL( Structured Query Language)语言的全称是结构化查询语言。数据库管理系统通过SQL语言来管理数据库中的数据。
SQL语言分为三个部分:数据定义语言( Data DefinitionLanguage,简称为DDL)、数据操作语言( DataManipulation Language,简称为DML)和数据控制语言( Data Control Language,简称为DCL)。
DDL语句: CREATE、 ALTER、 DROP
DML语句: update、 insert、 delete、 select
DCL语句:是数据库控制功能,是用来设置或更改数据库用户或角色权限的语句,包括( grant,deny,revoke等)语句。
二、基本数据库操作
1.创建数据库及删除数据库
(1)create database 数据库名;
例:create database hhf charset=utf8;
(2)drop database 数据库名;
例:drop database hhf;
2.创建表
(1)创建表 create table 表名 (
列名1 列类型 [<列的完整性约束>],
列名2 列类型 [<列的完整性约束>],
... ...);
例:
create table students
(
id int(10) not null unique auto_increment primary key,
name varchar(20) not null,
sex varchar(4) ,
age int(10),
class varchar(20) not null,
addr varchar(50)
);
create table score
(
id int(10) not null unique auto_increment primary key,
stu_id int(10) not null,
c_name varchar(20),
grade int(10)
);
(2)删除表数据:delete 表名 删除表所有数据 truncate 表名 清空表所有数据 truncate students ;
(3)删除表 drop table 表名 例:drop table students;
3.数据库及表的查看
show databases; 查看系统中数据库
show create database 数据库名; 查看数据库的相关信息
use databasename;选择数据库 例如:use hhf ;
describe tablename; 查看表结构 或者desc tablename
show create table students; 查看student表结构
flush privileges 刷新数据库
4.远程登录mysql
mysql -h 主机地址 -u用户名 -p用户密码 例如:mysql -h 192.168.1.119 -u root -p123456 密码和-p之间不能有空格
退出mysql命令:exit
3.插入数据insert语句
(1)insert中不指定字段插入
insert into students values (801,'刘海洋','男',21,'aa','北京市海淀区');
(2)insert中指定字段插入
insert into students (name,sex,age,class) values (801,'刘海洋','男',21,'aa');
(3)inser into 表名1 (属性列表1) select 属性列表2 from表名2 where 条件表达式;
insert into new_student select * from students;
(4)replace插入新记录
replace语句的语法格式有三种语法格式。
语法格式1: replace into 表名 [(字段列表) ] values (值列表)
语法格式2: replace [into] 目标表名[(字段列表1)] select (字段列表2) from 源表 where 条件表达式
语法格式3:replace [into] 表名set 字段1=值1, 字段2=值2
例如:replace into students values (801,'刘海洋','男',21,'aa','北京市海淀区');
3.修改数据update语句
update 表名
set 属性名1=取值1, 属性名2=取值2,…,属性名n=取值n
where 条件表达式;
例:update students set name='花花' where age=18;
4.删除操作delete语句
delete from 表名 where 条件表达式;
例:delete from students where age =18;
5.查询操作select语句
select
{*|<字段列表>}
[
from <表1>,<表2>...
[where <表达式>]
[group by 字段名]
[having 表达式]
[order by 字段名]
[limit [<offset>,]<row count>]
]
select [字段1,字段2,...,字段n]
from [表或视图]
where [查询条件]
(1)条件查询 条件判断符=,<>,!=,<,<=,>,>=,between...and(位于两者之间) is null、 is not null in not in
select * from students where age between 18 and 25;#查询年龄在18-25岁之间的学生信息
select * from students where addr is null or addr='';#查询地址为null或者为''的学生信息
select * from students where id in(801,802)#查询id在801、802的学生信息
select * from students where name like '李_'; #查询姓李名字为2个字的学生信息
select * from students where name like '张%;#查询姓张的学生的信息
select * from students where name like '%三%';#查询名字中含有'三'的学生信息
(2)分组
select * from students group by class;#以calss分组
聚合函数:sum(),count(),avg(),max(),min()
(3)排序
select * from score order by stu_id desc ;#按照stu_id降序排序
(4)多表查询
多表查询是指从多张表中查询所需要的数据,一般查询的这几张表都有一个相同的字段关联这几张表。多表连接可以通过join关键字来连接,也可以直接用关联表中相同的id来进行关联;
join:left join:左连接, 连接两张表,以左边表的数据匹配右边表中的数据,如果左边表中的数据在右边表中没有,会显示左边表中的数据。
right join:右连接,连接两张表,以右边表的数据匹配左边表中的数据,如果左边表中的数据在左边边表中没有,会显示右边表中的数据。
inner join:内连接,连接两张表,匹配两张表中的数据,和前面两个不同的是只会显示匹配的数据。
select a.name 学生姓名,b.score 学生成绩 from students a left join score b on a.id=b.student_id;
select a.name 学生姓名,b.score 学生成绩 from students a right join score b on a.id=b.student_id;
select a.name 学生姓名,b.score 学生成绩 from students a inner join score b on a.id=b.student_id;
select a.name 学生姓名,b.score 学生成绩 from students a,score b wherea.id=b.student_id;
(5)子查询
比如说要把成绩低于60分的学生的名字都改成笨蛋
update students set name = '笨蛋' where id in (select a.student_id from score a where a.score<60);
mysql常用操作的更多相关文章
- mysql常用操作语句
mysql常用操作语句 1.mysql -u root -p 2.mysql -h localhost -u root -p database_name 2.列出数据库: 1.show datab ...
- MySQL常用操作总结
MySQL常用操作 前提条件:已安装MySQL. 学习目标:用一条sql语句写出A和B的剩余数量 AA表 BB表 以上为一道面试题,接下来由这道面试题来回顾一些数据库的基本操作. 登录MySQL su ...
- centos LAMP第四部分mysql操作 忘记root密码 skip-innodb 配置慢查询日志 mysql常用操作 mysql常用操作 mysql备份与恢复 第二十二节课
centos LAMP第四部分mysql操作 忘记root密码 skip-innodb 配置慢查询日志 mysql常用操作 mysql常用操作 mysql备份与恢复 第二十二节课 mysq ...
- Windows平台下MySQL常用操作与命令
Windows平台下MySQL常用操作与命令 Windows平台下MySQL常用操作与命令,学习mysql的朋友可以参考下. 1.导出整个数据库 mysqldump -u 用户名 -p --defau ...
- MySQL常用操作2
MySQL常用操作2 判断函数 IF(expr, value1, value2) -- 如果表达式expr为true,则返回value1,否则返回value2 IFNULL(value1, val ...
- MYSQL常用操作函数的封装
1.mysql常用函数封装文件:mysql.func.php <?php /** * 连接MYSQL函数 * @param string $host * @param string $usern ...
- 第二篇 Mysql常用操作记录(转载)
我们在创建网站的时候,一般需要用到数据库.考虑到安全性,建议使用非root用户.常用命令如下: 1.新建用户 //登录MYSQL@>mysql -u root -p@>密码//创建用户my ...
- Linux 笔记 - 第十五章 MySQL 常用操作和 phpMyAdmin
博客地址:http://www.moonxy.com 一.前言 前面几章介绍了 MySQL 的安装和简单的配置,只会这些还不够,作为 Linux 系统管理员,我们还需要掌握一些基本的操作,以满足日常管 ...
- mysql常用操作及常见问题
常用操作 mysql备份: --整库备份 docker exec 容器ID mysqldump -uroot -p密码 --databases 库名 > 库名.sql --仅导出表和数据 mys ...
- mysql常用操作 mysql备份与恢复
先登录mysql ==>mysql -uroot -p 查看数据库的版本 select version(); 查看有哪些库 show datases; 查看当前处于哪个库 select da ...
随机推荐
- 转-IE浏览器自动配置代理脚本-Proxy.PAC文件及PAC相关语法
用笔记本上网时,往返家里和单位,因为单位是用的代理上网,家里是直接连接.因此每次都要修改IE的代理设置,虽然是个小事,但是每次都要修改总是有点烦 ,于是参考GOOGLE,写了一个自动配置代理的脚本.这 ...
- Redis各类型应用场景
Redis的六种特性 l ,重要消息的,然后工作线程可以选择按 ret = r.zincrby("login:login_times", 1, uid) //那么如何获得登录次数最 ...
- Pycharm快捷键
相比于eclipse,pycharm的确很方便,现就一些常用的快捷键记录一下: CTRL Q: 在参数列表位置,显示可以输入的所有参数.CTRL Q: 查看选中方法的文档字符串 阅读CTRL -: 折 ...
- Perl技巧
项目里面一直用的是Perl,Perl里有各种小技巧就分享在这吧. push(@a, $b) 把b元素压入a数组中, 还可以有 push(@a, [@b]); 那a就成了二维数组了 scalar(@a) ...
- 关于JavaScript和html的随笔
最近听了一些关于JavaScript和html的讲课和读了一些书籍.因为我是给项目做网站知道的,所以要特别的注意和努力.JavaScript是一门挺好用的脚本语言,比较简单灵活,在这上面我深有体会,因 ...
- @font-face 的用法
现在很多设计用的字体都是五花八门的.我们切图又不能很好的让搜索爬虫搜索.就会使用@font-face方法: @Font-face目前浏览器的兼容性: Webkit/Safari(3.2+):TrueT ...
- maven 问题解决 tools以及jconsole两个jar包 无效
在SVN上下载项目,结果完成后出现两个jar包不存在的情况 如下图: 然后,第一步就是去查看POM.xml文件是否配置了这两个文件,结果并没有,于是就更加奇怪了 所以怀疑是不是其他maven下载的ja ...
- Mysql EF Code First
1.更新程序包EntityFramework->6.1.3 2.下载程序包MySql.Data.Entities(Ver:6.8.3) 3.修改config.cs或者web.config,包含以 ...
- IOS线程学习(一)
1.NSThread 官方的描述 An NSThread object controls a thread of execution. Use this class when you want to ...
- poj2763
//Accepted 11676 KB 2344 ms /* source:poj2763 time :2015.5.29 by :songt */ /*题解: 树链剖分 基于边权,路径查询 wind ...