day17_Mysql

1、DDL

    常用数据类型
    创建表
        create table user(username varchar(30), password char(32));
    查看表结构
        desc user;
    查看表创建语句
        show create table user;
    删除表
        drop table user;
    创建表指定字符集和引擎
        create table user(username varchar(30), password char(32)) engine=innodb default charset=utf8;
    修改字段类型
        alter table user modify username varchar(20);
    添加字段
        alter table user add email varchar(30)
        alter table user add email varchar(30) after username;
    增删改查  curd操作
    首先通过mysql -uroot -p 进入数据库系统,创建数据库dudu,进入数据库dudu use dudu,然后才是创建表的过程
    所有的符号都是英文。
    创建表开始学习增删改
        mysql> create table user(
            -> id int auto_increment,
            -> name varchar(30) not null,
            -> money int not null,
            -> province varchar(20) default null,
            -> age tinyint unsigned not null,
            -> sex enum('女', '男') not null,
            -> primary key(id)
            -> )engine=innodb default charset=utf8;
        【注】单选在插入值的时候,可以直接使用1 2,那么1代表女,2代表男,enum类型如不不给值,默认是第一个
    
    set类型如何插入?
        set('吃', '喝', '玩', '乐', '看')
                1     2     4    8     16
             4|8|16      如果是后三个,可以这么写
             28          也可以加起来,这么写

2、DML

  • 增删改语句
    • 插入记录:
      insert into 表名 value(值1, 值2, ......)
      insert into 表名(字段1, 字段2, ......) value(值1, 值2, ......)
    • 删除记录:
      delete from 表名 where 条件
      !!!必须加where条件, 否则就会全部删除
    • 修改记录:
      update 表名 set 字段1=值1, 字段2=值2 where 条件
      !!!必须加where条件

3、可视化工具

    当你去操作数据库的时候,其实有3中方式
    (1)使用mysql自带的客户端进行操作
    (2)使用一些第三方的可视化工具管理数据库  比如navicate、sqlyog
    (3)使用代码去操作数据库,比如python、java、php

4、DQL

    基础查询: select * from 表名

    query : 查询
    模糊查询:like  '%德%'  只要有 德 字的都符合要求
            % 代表任意多的字符
            like '柳_'   叫 柳某 的都符合要求
            _ 代表一个任意字符
    limit:
        limit 2 : 在结果集中只要前两个
        limit offset, number : offset代表偏移量,number代表数量
        LIMIT number1 OFFSET number2 : number1 是数量  number2 是偏移量
    
    上网的时候,经常会有分页,每页显示10条,
    第一页:select * from table limit 0, 10
    第二页:select * from table limit 10, 10
    第三页:select * from table limit 20, 10
    第n页:select * from table limit (n-1)*10, 10

    分组:
        字段只能出现分组字段和统计信息,其它的字段出现没有意义
        select province, count(*) from user group by province;
        select province, count(*) as c from user group by province having c>=2;
        【注】having经常跟在group by的后面,where是跟在表的后面
    select使用顺序
        SELECT xxx FROM xxx WHERE xxx GROUP BY xxx HAVING xxx ORDER BY xxx LIMIT xxx;
        取出拥有年龄大于30岁的明星个数大于两个且第二多的省份
    多表联合
        mysql> create table user(
            -> id int auto_increment,
            -> name varchar(30) not null,
            -> gid varchar(10) default 0,
            -> primary key(id)
            -> )engine=innodb default charset=utf8;

        mysql> create table goods(
            -> gid int auto_increment,
            -> name varchar(30) not null,
            -> price int not null,
            -> category varchar(20) not null,
            -> primary key(gid)
            -> )engine=innodb default charset=utf8;

        mysql> insert into user(name, gid) values('郭德纲', 1),
            -> ('岳云鹏', 2),
            -> ('曹云金', 0),
            -> ('于谦', 3),
            -> ('牛群', 1),
            -> ('冯巩', 1),
            -> ('大兵', 4),
            -> ('马三立', 0),
            -> ('贾玲', 2);
        
        隐式内连接
            select user.name as uname, goods.name as gname from user, goods where user.gid=goods.gid;
        显示内连接
            select * from user as u join goods as g on u.gid=g.gid;
            select u.name as uname, g.name as gname from user as u join goods as g on u.gid=g.gid;
        三表链接格式
            select * from user as u join goods as g on u.gid=g.gid join price as p on g.pid=p.pid
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,240评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,328评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,182评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,121评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,135评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,093评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,013评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,854评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,295评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,513评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,398评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,989评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,636评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,657评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容

  • MYSQL 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 MySQL基本操...
    Kingtester阅读 7,809评论 5 116
  • 观其大纲 page 01 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 M...
    周少言阅读 3,156评论 0 33
  • 总以为妈妈会永远陪着我,起码是很久很久,这是默认的我所相信的可以称得上的永恒了,现在变成了另一种永恒的缺失缺憾。
    我有猫病阅读 118评论 0 0
  • 文/一枚回形针 无鸡不成宴。鸡作为饭桌上的一个重要角色,自然会被发明各种吃法。追求健康平淡的,可以有我们广东人最常...
    zy子悦阅读 444评论 0 3
  • 讲到情节一词,让我们最经常听到的应该就是某某有 “恋母情结”。在这句话里有更多的是贬义,这词一般也用在男人身上比较...
    慈觉阅读 136评论 0 0