MySQL 浅识

一. 数据库的操作:

    1. 登录客户端:

        mysql -u 用户名  -p 密码 

        mysql -uroot -pmysql

    2.退出客户端:

        exit / quit / ctrl +d

    3.查看所有的数据库:

        show databases;

    4.使用数据库:

        use database();

    5.查看使用的当前的数据库:

        select database();

    6.创建数据库:

        create database 数据库名 charset= utf8;

    7.删除数据库:

        delete database 数据库名

    8.查看创建数据的语句:

        show create database 数据库名 ;

    9.备份和恢复:

        mysqldump -u用户名 -p密码  数据库  > 目标文件

        mysqldump -u用户名 -p密码  新数据库 < 目标文件

二.  数据表的操作:

    1.查看当前数据库中所有的表:

        show tables;

    2.查看表的结构:

        desc 表名;

    3.创建表:

        create table 表名 (字段 类型 约束);

        其中:

    4.修改表结构:

        [1]添加字段: alter table 表名 add 字段 类型;

        [2]修改字段:重命名 alter table 表名 change 旧字段  新字段  类型及约束;

                            不重命名  alter table 表名 modify 字段  类型及约束;

        [3]删除字段:alter table 表名 drop 字段

    5.删除表

        drop table 表名;

    6.查看表的创建语句:

        show create table 表名;

三.数据库表数据的操作

    1.增加--全列插入

        insert into 表名 values(全部的字段对应的值);

         其中主键字段 可以用 0, null, default 来占位;

                --部分插入

         insert into 表名 (列1,列2,...) values(值1, 值2,...);

                 --多行插入

        insert into 表名

        insert into 表名 (列1,列2,...) values(值1, 值2,...) , (值11,值22,...),....;

    2.修改

        update 表名 set 列1 = 值1 , 列2 = 值2 where 条件;  无where条件时 就是全部修改;

    3.删除 -- 物理删除

        delete  from 表名 where 条件; 无where 条件时, 就是删除全部

                -- 逻辑删除 :  用一个字段来表示这条信息是否已经不能再使用了, 增加一条is_delete 字段 bit shu类型

        alter table 表名 add is_delete bit default 0 ;

        update 表名 set is_delete=1 where 条件 ;

    4. 查询

        --查询所有列: select * from 表名;

        --条件查询: select * from 表名 where 条件;

        --制定列查询: select 列1, 列2 from 表名 ;

        --可以使用as 作为字段的别名; select 列1 as 别名1 , 列2 as 别名2 from 表名;

        --字段的顺序, 就是查询出来结果字段的顺序;

        --消除重复列 , select distinct 列 form 表名;

        --模糊查询 , select 字段 from 表名 where 字段 like "__%"; 其中 _ 表示一个字符, % 表示0个或者多个字符;

                        select 字段 from 表名 where 字段 rlike "正则表达式";

        --范围查询 , select 列1 ,列2 from 表名 where 字段 in (在...非连续范围);   

                            select 列1, 列2 from 表名 where 字段 between ..and ..; 在连续范围内

                            不在..非连续范围: not in ();  不在连续范围内 :   not between ...and...

        --排序查询, order by 字段 , asc 升序; desc 降序;

                        select 字段 from 表名 where 条件 order by 字段 asc/desc ; 

                            order by 多个字段;

                        select 字段 from 表名 where 条件  order by 字段1 asc/desc ,字段2 asc/desc;

            --聚合函数, 总数 count(); select count(字段) from 表名;

                                最大值/最小值:select max/min(字段) from 表名;

                                 求和/ 平均数:select sum/avg(字段) from 表名;

                                 四舍五入: select round(值,小数点后面数字个数) from 表名 ;

            --分组, group by , 一般分组和 聚合函数一起结合使用;

                select 字段1 , 函数(字段) from 表名 group by 字段;

                函数group_concat(字段) 查询组内字段的值;

                select 字段, group_concat(字段) from 表名 group by 字段;

                having ,分组得到的结果进行条件判断;

                select 字段 , group_concat(字段) from 表名 where 原表条件 group by 字段 having 分组后表条件;

            --分页, limit start ,count

                    select 列 from 表名 limit count; 接一个参数的时候,限定查询个数

                    select 列 from 表名 limit start, count; 接两个参数的时候, 第一个是索引(从0开始),第二个查询个数

            --链接查询 , inner join ...on

                    select 列 from 表名a  inner join 表名b on 表a.列1 =  表B.列2;

             --自关联 ,省级联动 url:http://demo.lanrenzhijia.com/2014/city0605/

                 -- 查询出青岛市有哪些县城

                    select * from areas as city inner join areas as province on city.pid=province.aid where                        

                        province.atitle="青岛市";

            --子查询 , 

                    select * from 表a where  字段 = (select 函数(字段)from 表b);




------未完,待续--------

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值