MySQL数据库操作【SQL使用】

核心目标:学好增删改查,写啥业务都不怕!

一、理解数据库及其作用

1、数据库的五个基本单位
1)数据库服务器
2)数据库
3)数据表
4)数据字段
5)数据行

2、详解这五个基本单位
1)数据库服务器。是指用来运行数据库服务的一台电脑。在中小型企业通常为一台。在数据存储量计算量很大的时候可以存在多台。多台数据库服务器共同来存储或计算。由于数据安全非常重要,我们经常会对数据库服务器里面的数据进经备份。

2)数据库。一个数据库服务器里面有可以有多个数据库。主要用来分类使用。我们可以建立交通信息数据库、游戏数据库、酒店开房数据库... ... 主要用来将各个不同用途的数据,按照业务进行大块的划分。

3)数据表。例如在游戏数据库中。根据这一款游戏又分为了不同的数据表。专门用来区分游戏不同的数据。例如:用户数据(用户、密码);人物数据;所有装备和装备信息;用户的充值信息;药品、魔力药水信息... ...等

4)数据字段,也叫数据列。就是我们日常所见表格里面的列。在表格中,我们会将一张用户表分成多个列。如下(表一)所示:用户编号、用户名、性别、年龄是字段。在真正的数据库中数据字段需要换成英文需要写成:id、username、sex、age。

5)数据行。真正的数据存在每一个表的行里面。字段(列)划分出来了一个表应该按照什么样的格式存数据。而行,是真正的数据。每一行需要遵循数据字段(列)的规范和要求进行存入数据。

二、数据表之间的关系(主键、外键)
一对一、一对多、多对多。
同一个数据库中,有多张表,这些表之间往往是具有着某种对应关系的。

三、MySQL安装教程
MySQL是跨平台的服务器,windows操作系统下的使用与linux下的使用几乎一模一样。
1)百度搜索关键词:mysql server下载
2)访问官网下载:[http://dev.mysql.com/downloads/mysql/](http://dev.mysql.com/downloads/mysql/)

四、SQL 初识
  SQL是操作数据库的核心,也是本章开始的一句话:MySQL对于PHP程序员来说就是将业务转化成表结构。做好业务中的增、删、改、查。
  结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
  SQL是最重要的关系数据库操作语言,并且它的影响已经超出数据库领域,得到其他领域的重视和采用,如人工智能领域的数据检索等。
  虽然各个数据库系统略有不同,但是他们基本均遵循SQL 92标准。或者在SQL 92上做了一些简单的扩展和变化。
  学好了MySQL 的SQL 语法,其他的SQL语法学习起来均是万变不离其宗。

五、SQL语句的三大功能分类
SQL语句按照其功能范围不同可分为3各类别:
  1)数据定义语言(DDL ,Data Defintion Language)语句:数据定义语句,用于定义不同的数据段、数据库、表、列、索引等。常用的语句关键字包括create、drop、alter等。
  2)数据操作语言(DML , Data Manipulation Language)语句:数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据的完整性。常用的语句关键字主要包括insert、delete、update和select等。
  3)数据控制语言(DCL, Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的语句关键字包括grant、revoke等。

==数据库/表/字段操作==

六、连接数据库服务器
mysql -h localhost -u root -p (连接本地数据,-h localhost 可省略; 没有密码时,-p可省略。)

七、创建数据库 / 删除数据库
CREATE DATABASE 数据库名; (如果数据已存在,会提示错误。)
DROP DATABASE 数据库名; (【切记】注:数据库删除后,下面的所有数据都会全部删除,所以删除前一定要慎重并做好相应的备份。)

八、显示全部的数据库
show databases;

九、选中并进入某个数据库
use 数据库名; (使用 use 语句随时随地的切换要操作的数据库)

十、查看当前数据库中的表
show tables; (显示当前数据库下所有的表)

十一、创建数据表
语法:CREATE TABLE表名(字段名1 字段类型, ....字段名n 字段类型n);
举例:CREATE TABLE user(username varchar(20), password varchar(32));

十二、查看数据表的表结构
语法:desc 数据表名;

十三、查看创建某个数据表所用的SQL语句
语法: SHOW CREATE TABLE 数据表名 \G; (“\G”选项的含义是使得记录能够按照字段竖着排列,对于内 容比较长的记录更易于显示。)

十四、删除数据表
DROP TABLE 数据表名; (删除表。表和数据均会丢失,请勿必删除重要表之前备份数据。)

十五、指定数据表的表引擎和字符集
(在创建表最后,我们常用MyISAM或者InnoDB引擎。)
指定表引擎,语法: ENGINE=InnoDB;
指定表默认字符集,语法: DEFAULT CHARSET=utf8;

创建数据表的完整语法: CREATE TABLE 数据表名 (字段名1 字段类型,字段名2 字段类型, ... 字段名n 字段类型 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

十六、修改字段名、修改字段类型
修改字段名: alter table 表名 change 字段原名 字段新名 字段类型;
修改字段类型: alter table 表名 modify 字段名 varchar(20); (把指定的字段改成了 varchar(20)类型。)

十七、向数据表中增加新的字段
语法1: alter table 表名 add column 字段名 类型; (默认新增的字段在最后一列。)
语法2: alter table 表名 add 字段名2 字段类型 after 字段名1; (创建新的字段2,同时让它排在字段1之后。)

十八、删除一个字段
语法:alter table 表名 drop column 字段名;

十九、修改字段的排列顺序
1)在增加字段语句和修改字段语句(add / change / modify)的后面,都可以加一个可选项 first | after 以调整当前字段的顺序。
2)使用modify调整顺序:举例 alter table user modify email varchar(60) first; (它把 email字段放在了第一个位置。)

二十、修改数据表的名字
语法:alter table 旧表名 rename 新表名;

二十一、查看到当前服务器支持的所有引擎
语法: show engines;

==增删改查(数据操作)==

一、向表中插入数据
语法1: insert into 表 values(值1,值2,值n);
语法2: insert into 表(字段1,字段2,字段n) values(值1,值2,值n);

二、从表中查询数据
查询所有数据: select * from 表; (”*” 是一种正则表达式的写法,表示查询所有字段的值。)
指定字段查询: select 字段1,字段2,...字段n from 表; (一次可以查一个或多个字段的值。)
查询单个字段中“值”不重复的记录: select distinct 字段名 deptno from 表名;
条件查询: select 字段 from 表 where where 条件;
对查询结果进行排序: select 字段 from 表 order by 字段 排序关键词;
多个条件的结果排序: select 字段 from 表 order by 字段1 排序关键词,... ...字段n 排序关键词;
限制查询的数量: select 字段 from 表 limit 数量;
在指定区间中进行查询: select 字段 from 表 limit 偏移量,数量;
对查询数据进行统计: select 函数(字段) from 表;
对查询结果进行分组: select * from 表 group by 字段;

三、多表联合查询

四、更新表中的一条数据
语法:update 表名 set 字段1=值1,字段2=值2,字段n=值n where 条件;

五、从表中删除数据
语法:DELETE FROM 表 [where 条件];
删除表中所有的数据: TRUNCATE TABLE 表名;

时间: 2024-10-05 06:44:09

MySQL数据库操作【SQL使用】的相关文章

Python3:sqlalchemy对mysql数据库操作,非sql语句

Python3:sqlalchemy对mysql数据库操作,非sql语句 # python3 # author lizm # datetime 2018-02-01 10:00:00 # -*- coding: utf-8 -*- ''' 数据起始日期:2015-05-08 数据库:mysql ''' import requests from bs4 import BeautifulSoup import json import pymysql import datetime import ti

MySql数据库操作

MySql数据库操作 –登录MySql:--– Windows环境进入cmd后输入mysql –h localhost –u root –p,再输入密码就可以启动mysql;其中localhost是mysql服务器所在的ip如果是本机可以用localhost. –数据库相关操作--– create database db_name(数据库名称)建名为db_name的数据库 show databases查看已经存在的数据库 drop database db_name删除名为db_name的数据库

Python进行MySQL数据库操作

最近开始玩Python,慢慢开始喜欢上它了,以前都是用shell来实现一些自动化或者监控的操作,现在用Python来实现,感觉更棒,Python是一门很强大的面向对象语言,所以作为一个运维DBA或者运维来说,都应该学会用Python来提高工作效率.下面简单的介绍一下Python DB API MySQLdb 使用Python DB API访问数据库的流程图: 在Centos下安装MySQLdb模板(为了方便演显,我用yum安装,也是最快最省事的安装): yum install MySQL-pyt

Mysql数据库操作常用命令

转自微信公众号“MySQL数据库”:http://mp.weixin.qq.com/s?__biz=MzIyNjIwMzg4Ng==&mid=2655293044&idx=1&sn=e312934e5115105fdbe5da12af150276&scene=0#wechat_redirect [全了]Mysql数据库操作常用命令 2016-07-21 MySQL数据库 1.MySQL常用命令 create database name; 创建数据库 use database

Python/MySQL(四、MySQL数据库操作)

Python/MySQL(四.MySQL数据库操作) 一.数据库条件语句: 1 case when id>9 then ture else false 二.三元运算: 1 if(isnull(xx)0,1) 三.上下连表: select id,name from ta1 union 天然去重(检测上边的表和下边的表行内完全一样就只显示一行内容) select num,sname from tb2 ========================================== select

php pdo mysql数据库操作类

原文:php pdo mysql数据库操作类 findAll(array( 'field'=>'ID,albumName,albumImage, mainActor,directors,tags,info,area, keywords,wflag,year,mod_version,totalDuration', 'where'=>$where, 'order'=>'flag desc,hit_count desc', 'limit'=>"{$limit['offset']

面试笔试常考的mysql 数据库操作group by

IT 面试中,数据库的相关问题基本上属于必考问题,而其中关于sql语句也是经常考察的一个重要知识点. 下面介绍下sql语句中一个比较重要的操作group by,他的重要行一方面体现在他的理解困难度,一方面体现应用中的长见性. 首先,给出一个studnet学生表: CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(30) DEFAULT NULL, `sex` tinyint(1) DEFAU

Mysql 数据库 操作语句

Mysql 数据库 操作语句 mysql 格式语句规范如何登陆你的数据库?举例! 如果你的是 编译安装的花 那就得去编译安装后的那个目录中去,我的是安装到/usr/local/mysql 下 登陆数据库: cd /usr/local/mysql bin/mysql -u root -p 然后输入密码mysql-> show databases: 察看数据库记住每执行一句要带: 一.mysql常用语句创建,删除和最基本查询: 显示数据库    mysql->showdatabases; 创建数据

MySQL数据库操作类(PHP实现,支持连贯操作)

使用过ThinkPHP框架的同学可能会对于其中数据库模型操作特别有好感,ThinkPHP提供了数据库操作的简单的操作,对于连接数据库,数据库的增删改查等数据操作都非常的nice,同时支持连贯操作,对于那些不习惯写sql语句的同学真是大大的便利.(注:sql还是很重要的,不要因为用了框架就把原先的忘了). 而在笔者使用php操作redis实现后台任务的过程中,也想要借助这种便利,但无奈redis操作单独的类,直接访问其中的controller文件的话,总是会提示M方法失败,导致此模型方法不能使用.

Go语言开发(十八)、Go语言MySQL数据库操作

Go语言开发(十八).Go语言MySQL数据库操作 一.MySQL数据库驱动 1.MySQL数据库驱动简介 Go语言官方没有实现MySQL数据库驱动,常用的开源MySQL数据库驱动实现如下:(1)Go MySQL DriverGo MySQL Driver支持database/sql接口,全部采用Go语言实现.官方网站:https://github.com/go-sql-driver/mysql/(2)MyMySQLMyMySQL支持database/sql接口,也支持自定义的接口,全部采用Go