为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
与MySQL的零距离接触_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • MySQL回顾

    查看全部
    0 采集 收起 来源:内容回顾

    2018-05-03

  • -- 创建表

    create table 表名(

    字段名1 字段类型  [字段约束],

    字段名2 字段类型  [字段约束],

    字段名3 字段类型  [字段约束],

    ......

    )ENGINE=MyISAM  DEFAULT CHARSET=utf8;    (设置引擎跟字符集)


    -- 删除表

    DROP TABLE [IF EXISTS] 表名称;


    -- 查看stu表的建表语句,其中ENGINE=MyISAM表示表结构类型。

    mysql> show create table stu\G

    *************************** 1. row ***************************

           Table: stu

    Create Table: CREATE TABLE `stu` (

      `id` int(10) unsigned NOT NULL auto_increment,

      `name` varchar(8) NOT NULL,

      `age` tinyint(3) unsigned NOT NULL,

      `sex` enum('m','w') NOT NULL default 'm',

      `classid` char(6) default NULL,

      PRIMARY KEY  (`id`)

    ) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8

    1 row in set (0.03 sec)


    --修改stu表结构类型为innoDB

    mysql> alter table stu engine=innodb;

    Query OK, 5 rows affected (0.48 sec)

    Records: 5  Duplicates: 0  Warnings: 0



    mysql> show create table stu\G

    *************************** 1. row ***************************

           Table: stu

    Create Table: CREATE TABLE `stu` (

      `id` int(10) unsigned NOT NULL auto_increment,

      `name` varchar(8) NOT NULL,

      `age` tinyint(3) unsigned NOT NULL,

      `sex` enum('m','w') NOT NULL default 'm',

      `classid` char(6) default NULL,

      PRIMARY KEY  (`id`)

    ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8

    1 row in set (0.00 sec)


    --修改stu表结构类型为MyISAM (表文件3个)

    mysql> alter table stu engine=myisam;

    Query OK, 5 rows affected (0.09 sec)

    Records: 5  Duplicates: 0  Warnings: 0


    mysql> show create table stu\G

    *************************** 1. row ***************************

           Table: stu

    Create Table: CREATE TABLE `stu` (

      `id` int(10) unsigned NOT NULL auto_increment,

      `name` varchar(8) NOT NULL,

      `age` tinyint(3) unsigned NOT NULL,

      `sex` enum('m','w') NOT NULL default 'm',

      `classid` char(6) default NULL,

      PRIMARY KEY  (`id`)

    ) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8

    1 row in set (0.00 sec)


    --设置字符集(编码)

    mysql> set names gbk;

    Query OK, 0 rows affected (0.02 sec)

    mysql> set names utf8;

    Query OK, 0 rows affected (0.00 sec)


    mysql>



    --===========================================================

    修改表结构:

    语法:

    alter table 表名 action(具体操作);

      添加字段: alter table 表名  add  字段名 类型 [约束] [after 字段名|first]


    alter table stu add id int unsigned primary key auto_increment not null first;


    alter table stu add height tinyint unsigned after age;


      删除字段: alter table 表名  drop 字段名


      alter table stu drop height;


      修改字段: alter table 表名  change 原字段名 新字段名 类型 [约束]

          alter table 表名  modify 字段名 类型 [约束]

        change 和modify都可以改变字段,但是change还可以改变字段的名字

           alter table stu modify sex enum('m','w','y','x') not null default 'w';

           alter table stu change age ages tinyint unsigned  not null ;

      (约束都要加上)




      添加索引   alter table 表名  add index|unique|primary key [索引名](字段名)

      alter table stu add primay key(id);

      alter table stu add unique un_name(name);

      alter table stu add index in_age(age);

      删除索引 alter table 表名  drop index 索引名

      alter table stu drop primary key;

      alter table stu drop index un_name; 

      alter table stu drop index in_age;

      修改表名 alter table 表名  rename as 新表名

      重设自增 alter table 表名  auto_increment=1;

    --=============================================================================

    mysql>

    --创建users表,内有三个字段

    mysql> create table users(

        -> id int unsigned not null auto_increment primary key,

        -> username varchar(16) not null,

        -> userpass varchar(32) not null

        -> );

    Query OK, 0 rows affected (0.06 sec)


    mysql> desc users;

    +----------+------------------+------+-----+---------+----------------+

    | Field    | Type             | Null | Key | Default | Extra          |

    +----------+------------------+------+-----+---------+----------------+

    | id       | int(10) unsigned | NO   | PRI | NULL    | auto_increment |

    | username | varchar(16)      | NO   |     | NULL    |                |

    | userpass | varchar(32)      | NO   |     | NULL    |                |

    +----------+------------------+------+-----+---------+----------------+

    3 rows in set (0.01 sec)


    --在users表最后添加一个sex字段

    mysql> alter table users add sex enum('m','w') not null;

    Query OK, 0 rows affected (0.08 sec)

    Records: 0  Duplicates: 0  Warnings: 0


    mysql> desc users;

    +----------+------------------+------+-----+---------+----------------+

    | Field    | Type             | Null | Key | Default | Extra          |

    +----------+------------------+------+-----+---------+----------------+

    | id       | int(10) unsigned | NO   | PRI | NULL    | auto_increment |

    | username | varchar(16)      | NO   |     | NULL    |                |

    | userpass | varchar(32)      | NO   |     | NULL    |                |

    | sex      | enum('m','w')    | NO   |     | NULL    |                |

    +----------+------------------+------+-----+---------+----------------+

    4 rows in set (0.00 sec)


    --在users表的userpass字段后添加age字段信息

    mysql> alter table users add age tinyint unsigned not null after userpass;

    Query OK, 0 rows affected (0.06 sec)

    Records: 0  Duplicates: 0  Warnings: 0


    mysql> desc users;

    +----------+---------------------+------+-----+---------+----------------+

    | Field    | Type                | Null | Key | Default | Extra          |

    +----------+---------------------+------+-----+---------+----------------+

    | id       | int(10) unsigned    | NO   | PRI | NULL    | auto_increment |

    | username | varchar(16)         | NO   |     | NULL    |                |

    | userpass | varchar(32)         | NO   |     | NULL    |                |

    | age      | tinyint(3) unsigned | NO   |     | NULL    |                |

    | sex      | enum('m','w')       | NO   |     | NULL    |                |

    +----------+---------------------+------+-----+---------+----------------+

    5 rows in set (0.00 sec)


    --在users表的第一列位置添加aa字段

    mysql> alter table users add aa int first;

    Query OK, 0 rows affected (0.09 sec)

    Records: 0  Duplicates: 0  Warnings: 0


    mysql> desc users;

    +----------+---------------------+------+-----+---------+----------------+

    | Field    | Type                | Null | Key | Default | Extra          |

    +----------+---------------------+------+-----+---------+----------------+

    | aa       | int(11)             | YES  |     | NULL    |                |

    | id       | int(10) unsigned    | NO   | PRI | NULL    | auto_increment |

    | username | varchar(16)         | NO   |     | NULL    |                |

    | userpass | varchar(32)         | NO   |     | NULL    |                |

    | age      | tinyint(3) unsigned | NO   |     | NULL    |                |

    | sex      | enum('m','w')       | NO   |     | NULL    |                |

    +----------+---------------------+------+-----+---------+----------------+

    6 rows in set (0.00 sec)


    mysql>

    --删除users表中的aa字段

    mysql> alter table users drop aa;

    Query OK, 0 rows affected (0.08 sec)

    Records: 0  Duplicates: 0  Warnings: 0


    mysql> desc users;

    +----------+---------------------+------+-----+---------+----------------+

    | Field    | Type                | Null | Key | Default | Extra          |

    +----------+---------------------+------+-----+---------+----------------+

    | id       | int(10) unsigned    | NO   | PRI | NULL    | auto_increment |

    | username | varchar(16)         | NO   |     | NULL    |                |

    | userpass | varchar(32)         | NO   |     | NULL    |                |

    | age      | tinyint(3) unsigned | NO   |     | NULL    |                |

    | sex      | enum('m','w')       | NO   |     | NULL    |                |

    +----------+---------------------+------+-----+---------+----------------+

    5 rows in set (0.01 sec)


    mysql>

    -- 修改users表中sex字段(添加默认值)

    mysql> alter table users modify sex enum('m','w') not null default 'm';

    Query OK, 0 rows affected (0.05 sec)

    Records: 0  Duplicates: 0  Warnings: 0


    mysql> desc users;

    +----------+---------------------+------+-----+---------+----------------+

    | Field    | Type                | Null | Key | Default | Extra          |

    +----------+---------------------+------+-----+---------+----------------+

    | id       | int(10) unsigned    | NO   | PRI | NULL    | auto_increment |

    | username | varchar(16)         | NO   |     | NULL    |                |

    | userpass | varchar(32)         | NO   |     | NULL    |                |

    | age      | tinyint(3) unsigned | NO   |     | NULL    |                |

    | sex      | enum('m','w')       | NO   |     | m       |                |

    +----------+---------------------+------+-----+---------+----------------+

    5 rows in set (0.00 sec)


    -- 修改sex字段名为sex2

    mysql> alter table users change sex sex2 enum('m','w') not null default 'm';

    Query OK, 0 rows affected (0.08 sec)

    Records: 0  Duplicates: 0  Warnings: 0


    mysql> desc users;

    +----------+---------------------+------+-----+---------+----------------+

    | Field    | Type                | Null | Key | Default | Extra          |

    +----------+---------------------+------+-----+---------+----------------+

    | id       | int(10) unsigned    | NO   | PRI | NULL    | auto_increment |

    | username | varchar(16)         | NO   |     | NULL    |                |

    | userpass | varchar(32)         | NO   |     | NULL    |                |

    | age      | tinyint(3) unsigned | NO   |     | NULL    |                |

    | sex2     | enum('m','w')       | NO   |     | m       |                |

    +----------+---------------------+------+-----+---------+----------------+

    5 rows in set (0.02 sec)


    mysql>


    -- 为users表中username字段添加唯一性索引(索引名为un_username)

    mysql> alter table users add unique un_username(username);

    Query OK, 0 rows affected (0.11 sec)

    Records: 0  Duplicates: 0  Warnings: 0


    mysql> show create table users\G

    *************************** 1. row ***************************

           Table: users

    Create Table: CREATE TABLE `users` (

      `id` int(10) unsigned NOT NULL auto_increment,

      `username` varchar(16) NOT NULL,

      `userpass` varchar(32) NOT NULL,

      `age` tinyint(3) unsigned NOT NULL,

      `sex2` enum('m','w') NOT NULL default 'm',

      PRIMARY KEY  (`id`),

      UNIQUE KEY `un_username` (`username`)

    ) ENGINE=MyISAM DEFAULT CHARSET=utf8

    1 row in set (0.00 sec)


    -- 删除users表中的un_username索引

    mysql> alter table users drop index un_username;

    Query OK, 0 rows affected (0.03 sec)

    Records: 0  Duplicates: 0  Warnings: 0


    mysql> show create table users\G

    *************************** 1. row ***************************

           Table: users

    Create Table: CREATE TABLE `users` (

      `id` int(10) unsigned NOT NULL auto_increment,

      `username` varchar(16) NOT NULL,

      `userpass` varchar(32) NOT NULL,

      `age` tinyint(3) unsigned NOT NULL,

      `sex2` enum('m','w') NOT NULL default 'm',

      PRIMARY KEY  (`id`)

    ) ENGINE=MyISAM DEFAULT CHARSET=utf8

    1 row in set (0.00 sec)


    mysql> desc users;

    +----------+---------------------+------+-----+---------+----------------+

    | Field    | Type                | Null | Key | Default | Extra          |

    +----------+---------------------+------+-----+---------+----------------+

    | id       | int(10) unsigned    | NO   | PRI | NULL    | auto_increment |

    | username | varchar(16)         | NO   |     | NULL    |                |

    | userpass | varchar(32)         | NO   |     | NULL    |                |

    | age      | tinyint(3) unsigned | NO   |     | NULL    |                |

    | sex2     | enum('m','w')       | NO   |     | m       |                |

    +----------+---------------------+------+-----+---------+----------------+

    5 rows in set (0.01 sec)


    -- 为users表中age字段添加普通索引,没有指定索引名(默认索引名为字段名)

    mysql> alter table users add index (age);

    Query OK, 0 rows affected (0.09 sec)

    Records: 0  Duplicates: 0  Warnings: 0


    mysql> show create table users\G

    *************************** 1. row ***************************

           Table: users

    Create Table: CREATE TABLE `users` (

      `id` int(10) unsigned NOT NULL auto_increment,

      `username` varchar(16) NOT NULL,

      `userpass` varchar(32) NOT NULL,

      `age` tinyint(3) unsigned NOT NULL,

      `sex2` enum('m','w') NOT NULL default 'm',

      PRIMARY KEY  (`id`),

      KEY `age` (`age`)

    ) ENGINE=MyISAM DEFAULT CHARSET=utf8

    1 row in set (0.00 sec)


    --删除索引

    mysql> alter table users drop index age;

    Query OK, 0 rows affected (0.05 sec)

    Records: 0  Duplicates: 0  Warnings: 0


    mysql> show create table users\G

    *************************** 1. row ***************************

           Table: users

    Create Table: CREATE TABLE `users` (

      `id` int(10) unsigned NOT NULL auto_increment,

      `username` varchar(16) NOT NULL,

      `userpass` varchar(32) NOT NULL,

      `age` tinyint(3) unsigned NOT NULL,

      `sex2` enum('m','w') NOT NULL default 'm',

      PRIMARY KEY  (`id`)

    ) ENGINE=MyISAM DEFAULT CHARSET=utf8

    1 row in set (0.00 sec)


    mysql>










    查看全部
    0 采集 收起 来源:操作数据库

    2018-05-03

  • MySQL语句规范

    查看全部
    0 采集 收起 来源:操作数据库

    2018-05-03

  • MySQL默认端口号是3306

    查看全部
  • CREATE TABLE(DATABASE);

    DROP,DELETE;

    SELECT...FROM...

    SHOW...

    INSERT...(...) VALUES...(...)

    PRIMARY KEY

    FOREIGN KEY

    查看全部
  • 外键约束的要求

    查看全部
  • 内连接:  显示两张表中的公共部分  

    左外连接:显示公共部分及整张左表  || 显示左表的全部和右表符合条件的部分 

                    ( 注意: 右表中没有符合条件的,则显示NULL)

    右外连接: 显示公共部分及整张右表 ||  显示右表的全部和左表符合条件的部分

    查看全部
    0 采集 收起 来源:外连接OUTER JOIN

    2018-05-03

  • INNER JOIN ,CROSS JOIN,JOIN 是一个意思  通常使用INNER JOIN  

    ON  设定连接条件              WHERE 过滤结果集   

    内连接仅显示符合连接条件的部分

    查看全部
    0 采集 收起 来源:内连接INNER JOIN

    2018-05-03

  • MySQL在SELECT语句,多表更新,多表删除语句中支持JOIN操作

    查看全部
  • 疑惑:此处修改数据库命令 db_name 不可缺少,不应该加中括号吧?

    查看全部
    0 采集 收起 来源:操作数据库

    2018-05-02

  • 创建数据库: CREATE DATABASE IF NOT EXISTS t1 CHARACTER SET utf8;

    修改数据库: ALTER DATABASE t1 CHARACTER SET gbk;

    删除数据库: DROP DATABASE IF EXISTS t1;

    查看数据库创建信息: SHOW CREATE DATABASE t1;

    查看警告信息: SHOW WARNINGS;

    查看所有数据库列表: SHOW DATABASES;

    查看全部
    0 采集 收起 来源:操作数据库

    2018-05-02

  • 一步到位,创建的同时将查询的记录插入到新表中:CREATE...SELECT
    CREATE TABLE tdb_goods_brand(
    brand_id SMALLINT UNSIGNED PRIMARY AUTO_INCREMENT
    brand_name VARCHAR(30) NOT NULL
    )
    SELECT brand_name FROM tdb_goods GROUP BY brand_name;


    查看全部
  • UPDATE tdb_goods INNER JOIN tdb_goods_cates ON goods_cate=cate_name SET goods_cate=cate_id;
    // INNER JOIN 示例
    查看全部
    0 采集 收起 来源:多表更新

    2018-05-02

  • IN/NOT IN 引发的子查询:

    IN 等价于 =ANY    NOT IN 等价于!=ALL||<>ALL  

    查看全部
  • 加密函数

    查看全部
    0 采集 收起 来源:MySQL 加密函数

    2018-05-02

举报

0/150
提交
取消
课程须知
要想学习本课程,你只需要知道数据库是个什么东东就足够了,是不是很easy?!
老师告诉你能学到什么?
1、MySQL安装与配置 2、数据类型 3、流程控制与运算符 4、DDL、DCL、DQL、DML 5、常用函数 6、表类型(存储引擎) 7、图形化工具
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!