美文网首页
MySQL基础入门一

MySQL基础入门一

作者: X兄 | 来源:发表于2019-02-27 16:16 被阅读2次

    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 子句来设置条件。

    相关文章

      网友评论

          本文标题:MySQL基础入门一

          本文链接:https://www.haomeiwen.com/subject/frkfuqtx.html