MySQL数据库基本操作整理

mysql -uroot -proot

数据库:

    查询所有    show databases;

    创建        create database 库名;

    查询详情    show create database 库名;

    指定字符集  create database 库名 character set utf8;

    删除        drop database 库名;

    使用        use 库名;

    导入数据库      source 路径;

数据表:

    查询所有    show tables;

    创建        create table t1(name varchar(10),age int);

    查询详情    show create table t1;

    指定引擎和字符集    create table t1(name varchar(10),age int)     engine=myisam/innodb      charset=utf8;

            ----------------innodb:支持数据库的复杂操作,包括外键、事务等

            ----------------myisam:只支持数据基础的增删改查操作

    查看表字段  desc 表名;

    删除表      drop table 表名;

    修改表名    rename table 原名 to 新名;

    修改表的引擎和字符集  alter table 表名 engine=myisam/innodb charset=utf8;

    添加表字段 

            --最后面: alter table 表名 add 字段名 字段类型;

            --最前面: alter table 表名 add 字段名 字段类型 first;

            --XX后面: alter table 表名 add 字段名 字段类型 after xxx;

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

    修改表字段的名字和类型    alter table 表名 change 原字段名 新字段名 新字段类型;

    修改表字段的类型和位置    alter table 表名 modify 字段名 字段类型 位置;

    删除并新建  truncate table 表名;

数据相关:

    保存数据    insert into 表名 values(字段值,字段值,...);

    指定字段插入  insert into 表名 (字段名) values (字段值);

    查询数据    select * from 表名 where 条件;

    修改数据    update 表名  set 字段名=字段值,字段名=字段值,... where 条件;

    删除数据    delete from 表名 where 条件;

    查询到的字段更名    select 原字段名 新字段名 from 表名;

    查询去重        select distinct 字段名 from 表名;

    in 查询某个字段的值为多个的时候      select * from where 字段名 in(值1,值2,...);

    查询某个字段的值不为**的时候      select * from where 字段名 not in(值1,值2,...);

    between查询在**之间(之内)    select * from where 字段名 between 值1 and 值2;

    查询不在**之间的(之外)    select * from where 字段名 not between 值1 and 值2;

    模糊查询:  like

            _:代表单个未知字符

            %:代表0个或者多个未知字符

    升序  select * from 表名 order by 字段 asc;

    降序  select * from 表名 order by 字段 desc;   

    分组  select 字段 from 表名 group by 字段;

    分页查询     select * from 表名 limit (页数-1)*每页数量,每页数量            -----limit 7,7 

    取余      mod(7,2)      -----7%2

    获取当前日期+时间      select now();

    获取当前日期      select curdate();

    获取当前时间      select curtime();

    从年月日时分秒中提取日期    select date(now());

    从年月日时分秒中提取时间    select time(now());

    从年与日时分秒中提取时间分量:

        年      select extract(year from now());      ------select extract(year from 字段) from 表名;

        月      select extract(month from now());

        日      select extract(day from now());

        时      select extract(hour from now());

        分      select extract(minute from now());

        秒      select extract(second from now());

    日期格式化:

        %Y 四位年 YYYY

        %y 两位年 yy

        %m 两位月

        %c 一位月

        %d 日

        %H 24小时

        %h 12小时

        %i 分

        %s 秒

                -------select date_format(now(),'%Y年%m月%d日 %H时%i分%s秒');

    非标准格式转换为标准格式

        str_to_date('非标准格式的时间',格式);      --------select str_to_date('2018年11月16日 15时49分08秒','%Y年%m月%d日 %H时%i分%s秒');

    ifnull(x,y)    ----update emp set comm = ifnull(comm,0);

主键:

    创建表的时候定义主键和自增 注释    create table 表名(字段名 字段类型 primary key auto_increment comment '内容',....);

    查看自动提交状态    show variables like '%autocommit%';

    设置自动提交的状态  set autocommit=0/1;

    开启事务    begin;

    提交事务    commit;

    保存回滚点  savepoint 名;

    回滚到回滚点  rollback to 名;

聚合函数:

    平均值    avg(字段名);      ------select avg(sal) from emp;

    最大值    max(字段名);      ------select max(sal) from emp;

    最小值    min(字段名);      ------select min(sal) from emp;

    求和      sum(字段名);      ------select sum(sal) from emp;

    统计数量    count(字段名);    ------select count(ename) from emp;

字符串:

    拼接  concat('xx','xx');

    获取长度    select char_length(字段) from emp;

    获取字符串在另外一个字符串中出现的位置    instr(str,substr);

    插入字符串  insert(str,start,length,newstr);

    转大写    upper(str);

    转小写    lower(str);

    去两端空白  trim(str);

    截取字符串 

        从左截取    left(str,num); 

        从右截取    right(str,num); 

        自定义截取  substring(str,start,len);

    重复    repeat(str,次数);

    替换    replace(str,要替换的,替换后的);

    反转    reverse(str); 

数学函数:

    向下取整    select floor(num);

    四舍五入    select round(num,m);    ------select round(23.4782,2)  23.48

    非四舍五入  select truncate(num,m)  -----select truncate(23.879,2)  23.87

    随机数    rand()  0-1

            获取3、4、5 随机数    select floor(rand()*3)+3;

关联查询:

    内连接    select from 字段 from 表1 join 表2 on 等值条件

    外连接    select from 字段 from 表1 left join 表2 on 等值条件

视图:

    创建视图    create view 视图名 as 子查询 with check option;

    创建或替换视图    create or replace view 视图名 as 子查询;

    删除视图        drop view 视图名;

外键:

    格式: constraint 约束名称 foreign key(外键字段名) references 依赖的表名(依赖的字段名)

索引:

    格式: create index 索引名 on 表名(字段名(字符长度))

    删除索引    drop index 索引名  on 表名;

注意:

    1、where后面不能写聚合函数,使用having

    2、如果创建视图的子查询中使用了别名,则对视图操作时只能使用别名

    3、not null  不能为空

    4、unique  不能重复

    5、primary key  主键,不能为空,不能重复

    6、auto_increment    自增

    7、显示一行  select depto,group_concat(ename) from emp group by deptno;


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

推荐阅读更多精彩内容