SQL语句

服务器->数据库->表(行列组成的二维表格)->行

client操作服务器通过命令登录操作:mysql -u用户名(默认root) -p密码

SQL语句:每个命令执行结束加分号结束

操作库

        查询所有数据库:show databases;

        切换数据库:use 库命名;

        创建数据库:create database [if not exists] 库名;

        删除数据库:drop database [if exists] 库名;

        查询数据库创建:show 建库语句;

        修改数据库(表)采用的字符集:character set

        注意:不要修改mysql服务器的编码集,表的编码集默认和库一致

建表

        格式:

                create table [if exists] 表名(

                        字段1 数据类型 字段属性,

                        字段2 数据类型 字段属性,

                        ...

                        字段N 数据类型 字段属性

                )engine=引擎 default charset=编码集;

        查看当前数据库:select database;

        查看建表语句:show create table 表名;

        查看表结构:desc 表名;

        删除:drop table [if exists] 表名;

字段属性:

        not null:没给值数据为默认值(varchar默认值为空)

        auto_increment 定义列为自增的属性,一般用于主键,数值会自动加1

        primary key 关键字用于定义列为主键(唯一),您可以使用多列来定义主键,列间以逗号分隔

        engine设置存储引擎,charset设置编码

        default null:没给值数据就是null

        default 值:设置字段的默认值

注意:主键不重复的列

修改表结构:alter table

        修改表名:alter table 旧表名 to 新表名;

        添加字段:alter table 表名 add 字段 字段数据类型 属性;

        修改字段:alter table 表名 change 旧字段 新字段 数据类型 属性;

        修改字段:alter table 表名 modify 字段 数据类型 属性;

        注意:

                change:修改所有(字段名,数据类型,属性)

                modify:修改一部分(数据类型,属性)

                修改数据类型时,varchar->int元数据会变为0

增删改查:字符串全部使用''包起来

        增:

                格式:

                        insert into 表名(字段) values(值),(值)...(值);

                例如:

                        insert into stduent(name) values('zs');

                        insert into stduent(name) values('zs'),('ls');

        删

                格式:

                        delete from 表名 where 子句;

        改

                格式:

                        update 表名 set 字段1=值1,字段2=值2...字段N=值N where 子句;

        查

                格式:

                        select 字段 from 表名 where 子句;

                注意:

                        *表示所有字段

as起别名

        格式:

                字段 as 名称

        注意:

                as 也加可不加

where子句:

        >   <   <=   >=   =    <> 大于、小于、大于(小于)等于、不等于

        between  ...and... 显示在某一区间的值(含头含尾)

        in(set) 显示在in列表中的值,例:in(100,200)只能匹配100或200

        like '张_' 模糊查询  使用% 和 _(%表示匹配所有 _匹配一个)

        Is null 判断是否为空

        and 多个条件同时成立

        or 多个条件任一成立

        not 不成立,例:where not(expection>10000);

limit分页

        格式:

                语句 limit 开始下标,长度;

        注意:

                如果数据量不够,显示全部

        例如:从下标为0开始显示10条

                select * from stduents limit 0,10;

去重:DISTINCT

        格式:

                DISTINCT 字段1,字段2...字段N

        注意:

                字段不能在DISTINCT之前,只能在DISTINCT后面

                DISTINCT之后有多个字段,按照所有字段进行去重

聚合函数:

        count(字段):求多少行数据

        concat

字段和字段之间如果有拼接符 需要手动加上

格式: concat(值1,值2...值n)

 

        concat_WS

字段和字段之间如果有拼接符 需要指定拼接符 自动去加

格式:concat_WS(拼接符,值1,值2...值n)

        sum(字段):求和

        avg(字段):平均数

        max(字段):最大值

        min(字段):最小值

        注意:

                varchar能比较大小,不能获取avg(没有任何意义)

                如果值为Null不参与计算

                sum和avg字段的数据不是数值,结果都是0

浮点数的计算

        floor():向下取整

        ceil() :向上取整

        round(X,D): D表示保留几位小数 四舍五入 针对于D+1位

        round(X):四舍五入 不保留小数 只针对对于第一位小数

        rand();随机产生0-1之间的小数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值