MySQL基础入门一

MySQL 简介:

官网: MySQL官网

MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

在本教程中,会让大家快速掌握 MySQL 的基本知识,并轻松使用 MySQL 数据库。

MySQL 优点:

①. MySQL 是开源的,所以你不需要支付额外的费用。

②. MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。

③. MySQL 使用标准的 SQL 数据语言形式。

④. MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。

⑤. MySQL 对PHP有很好的支持,PHP 是目前最流行的 Web 开发语言。

⑥. MySQL 支持大型数据库,支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为8TB。

⑦. MySQL 是可以定制的,采用了 GPL 协议,你可以修改源码来开发自己的 MySQL 系统。

MySQL 创建数据库:

使用 create database 语句可完成对数据库的创建, 语法格式如下:

create database 数据库名 [其他选项];

例如我们需要创建一个名为 db 的数据库:

create database db;

MySQL 删除数据库:

使用 drop database 语句可完成对数据库的删除, 语法的格式如下:

drop database <数据库名>;

例如删除名为 db 的数据库:

drop database db;

MySQL创建数据库表:

使用 create table 语句可完成对表的创建, create table 的语法的格式如下:

CREATE TABLE table_name (column_name column_type);

以创建 students 表为例, 表中将存放 学号(id)、姓名(name)、性别(sex)、年龄(age)、联系电话(tel) 这些内容:

create table students (

id int unsigned not null auto_increment primary key,

name char(8) not null,

sex char(4) not null,

age int unsigned not null,

tel char(13) 

);

注:

 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。

AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。

PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。

UNSIGNED声明无符号类型,unsigned 属性只针对整型

MySQL 删除数据表:

以下为删除MySQL数据表的通用语法:

DROP TABLE table_name ;

MySQL 插入数据:

以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法:

INSERT INTO 表名 [(列名1, 列名2, 列名3, ...)] values (值1, 值2, 值3, ...);

例如, 要给 db 数据库中的 students 表插入一条记录, 执行语句:

insert into students values(NULL, "王刚", "男", 20, "13811371377");

如果数据是字符型,必须使用单引号或者双引号,如:"value"。

MySQL 查询数据:

以下为在MySQL数据库中查询数据通用的 SELECT 语法:

SELECT column_name,column_name

FROM table_name

[WHERE Clause][LIMIT N][ OFFSET M]

查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。

SELECT 命令可以读取一条或者多条记录。

你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据

你可以使用 WHERE 语句来包含任何条件。

你可以使用 LIMIT 属性来设定返回的记录数。

你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。

MySQL WHERE 子句:

where 关键词用于指定查询条件,如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中。

以下是 SQL SELECT 语句使用 WHERE 子句从数据表中读取数据的通用语法:

select 列名称 from 表名称 where 条件;

1. 查询语句中你可以使用一个或者多个表,表之间使用逗号, 分割,并使用WHERE语句来设定查询条件。

2. 你可以在 WHERE 子句中指定任何条件。

3. 你可以使用 AND 或者 OR 指定一个或多个条件。

4. WHERE 子句也可以运用于 SQL 的 DELETE 或者 UPDATE 命令。

5. WHERE 子句类似于程序语言中的 if 条件,根据 MySQL 表中的字段值来读取指定的数据。

例如查询年龄在21岁以上的所有人信息:

select * from students where age > 21;

MySQL更新表中的数据 UPDATE:

以下是 UPDATE 命令修改 MySQL 数据表数据的通用 SQL 语法:

update 表名称 set 列名称=新值 where 更新条件;

例如:将手机号为 13288097888 的姓名改为 "张伟鹏", 年龄改为 19:

update students set name="张伟鹏", age=19 where tel="13288097888";

MySQL DELETE 删除语句:

以下是 SQL DELETE 语句从 MySQL 数据表中删除数据的通用语法:

delete from 表名称 [where 删除条件];

1. 如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。

2. 你可以在 WHERE 子句中指定任何条件

3. 您可以在单个表中一次性删除记录。

例如 :删除id为2的行:

 delete from students where id=2;

MySQL创建后表的修改:

alter table 语句用于创建后对表的修改, 基础用法如下:

1. 添加列基本形式:

alter table 表名 add 列名 列数据类型 [after 插入位置];

示例:在表的最后追加列 address:

alter table students add address char(60);

示例:在名为 age 的列后插入列 birthday:

alter table students add birthday date after age;

2.  修改列基本形式:

alter table 表名 change 列名称 列新名称 新数据类型;

示例:将表 tel 列改名为 telphone:

alter table students change tel telphone char(11)

3. 删除列基本形式:

alter table 表名 drop 列名称;

示例:删除 birthday 列:

alter table students drop birthday;

MySQL LIKE 子句:

用于模糊查询:

以下是 SQL SELECT 语句使用 LIKE 子句从数据表中读取数据的通用语法:

SELECT 列名  FROM 表名 WHERE 列名 LIKE  '%值%'

%可在值前面也可以在后面.

SELECT * FROM db.students where name like '%四'       //查询名字最后一个字为'四'的学生信息

SELECT * FROM db.students where name like '%四%'     //查询名字中包含为'四'的学生信息

SELECT * FROM db.students where name like '四%'     //查询名字中第一个字为'四'的学生信息 

MySQL limit 分页查询:

格式如下:

select 字段1,字段2 from 表名 limit 初始位置,记录数

例如: 第一条开始,每页显示三条

SELECT * FROM students limit 0,3

Mysql 连接的使用:

你可以在 SELECT, UPDATE 和 DELETE 语句中使用 Mysql 的 JOIN 来联合多表查询。

JOIN 按照功能大致分为如下三类:

1. INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。

2. LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。

3. RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。

MySQL 排序:

格式如下:

select 列名 from 表名 order by 列名:

SELECT * FROM db.students order by age

1. 你可以使用任何字段来作为排序的条件,从而返回排序后的查询结果。

2. 你可以设定多个字段来排序。

3. 你可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升序排列。

4. 你可以添加 WHERE...LIKE 子句来设置条件。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容

  • MYSQL 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 MySQL基本操...
    Kingtester阅读 7,772评论 5 116
  • 转 # https://www.cnblogs.com/easypass/archive/2010/12/ 08/...
    吕品㗊阅读 9,696评论 0 44
  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 4,028评论 0 19
  • 妈妈给我买的书到了,今天晚上我们读了一个故事,故事的名字叫做《小克劳斯和大克劳斯》。 故事讲的是在...
    贤惠的煎蛋饼阅读 183评论 0 0
  • 昨日浮梦今犹在, 转眼已是数年。 忆往昔峥嵘岁月, 俯首贴耳之面。
    KLKobeKG阅读 185评论 0 0