SQL基础



一、对数据库的操作

1.创建库
create database [库名];

创建带有编码的
create database [库名] character set [编码];

查看编码
show create  database [库名];


2.删除库

drop database [库名];

3.使用库

use [库名];

4.查看当前正在操作的库

select database();


二、对数据表的操作

1.创建表
create table [表名](
     字段名  类型(长度)  [约束],
     字段名  类型(长度)  [约束],
     字段名  类型(长度)  [约束]
);

2.查看数据表
show tables;

查看表结构
desc 表名;

3.删除一张表

drop table 表名;


4.修改表
     4.1添加一列
          alter talbe 表名 add 字段名 类型(长度) [约束];

     4.2修改列的类型
          alter table 表名 modify 要修改的字段名 类型(长度) [约束];
    
     4.3修改列的列名
          alter table 表名 change 旧列名 新列名 类型(长度) [约束];
     
     4.4删除表的列
          alter talbe 表名 drop 列名;
     
     4.5修改表名
          alter talbe 表名 to 新表名;

     4.6修改表的字符集                                                            查看当前表的编码和其他信息
          alter talbe 表名 character set 编码;                                show create table 表名; 
     

三、对数据库表记录进行操作(修改)

      1.插入记录
         insert into 表名(列名1,列名2,列名3...) values(值1,值2,值3...);

         insert into 表名 values(值1,值2,值3...);
      
     1.1插入数据中文乱码问题解决办法
          方式一:     直接修改数据库安装目录中的my.ini文件第57行
                         default-character-set=utf8

          方式二:   set  name gbk;

      2.修改表记录

          2.1不带条件的
               update 表名 set 字段名=值, 字段名=值, 字段名=值...;
               它会将改列的所有记录都更改

          2.2带条件的
               update 表名 set 字段名=值, 字段名=值, 字段名=值... where 条件;

       3.删除表记录

            3.1带条件的
                 delete from 表名 where 条件
           
            3.2不带条件的
                 delete from 表名;

            3.3面试题
               说说delete与truncate的区别?
               delete删除的时候是一条一条的删除记录,它配合事务,可以将删除的数据找回。
               truncate删除,它是将整个表摧毁,然后在创建一张一模一样的表。它删除的数据无法找回
               注意:delete删除,uid(自增长字段)不会重置,而使用turncate操作,uid会重置
       
        4.查询操作
              语法:
                   select [distinct] *| 列名,列名 from 表名 [where 条件];
               
              4.1简单查询(表为product)
                    1.查询所有商品
                    select * from product;
              
              
                    2.查询商品名和商品价格
                      select pname,price from product;
                 

                    3.查询所有商品信息使用表别名
                         select * from product as p;
                 
                    
                    4.查询商品名,使用列名
                          select pname as p from product
                  

                      5.去掉重复值(按照价格)
                           select distinct(price) from product;
                  

                       6.将所有的商品价格+10进行显示
                              select pname,price+10 from product;
                   


              4.2条件查询
                    
                    1.查询商品名为“左慈”的商品信息
                       select * from product where pname='左慈';
                      

                    2.查询价格>60元的所有商品信息
                         select * from product where price>60;
                      
               
                    3.查询商品名称含有“士”字的商品信息
                         select * from product where pname like '%士%';
                      

                    4.查询商品id在(3,6,9)范围内的所有商品信息
                         select * from product where pid in(3,6,9);
                      
     
                    5.查询商品名称含有“士”字并且id为6的商品信息
                         select * from product where pname like '%士%' and pid=6;
                      

                    6.查询id为2或者6的商品信息
                         select * from product where pid=2 or pid=6;

               4.3排序
                    
                    1.查询所有的商品,按价格进行排序(升序,降序)
                         select * from product order by price asc;      (desc)
                    
                    

                    2.查询名称有“士”的商品信息并且按照价格降序排序
                         select * from product where pname like '%士%' order by price desc;
                    

               4.4聚合函数
                    
                    1.获得所有商品的价格总和
                         select sum(price) from product;
                    

                    2.获得所有商品的平均价格
                         select avg(price) from product;
                    

                    3.获得所有商品的个数
                         select count(*) from product;
                    

               4.5分组操作
                    1.添加分类id (alter table product add cid varchar(32);)
                    2.初始化数据
                         update product set cid='1';
                         update product set cid='2' where  pid in (5,6,7);

                    1.根据cid字段分组,分组后统计商品的个数。
                     

                    2.根据cid分组,分组统计每组商品的平均价格,并且平均价格大于20000元。
                     


              4.6 查询总结
select  一般在的后面的内容都是要查询的字段
from  要查询到表
where
group by
having  分组后带有条件只能使用having
order by 它必须放到最后面















































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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值