美文网首页
mysql 表的基本操作

mysql 表的基本操作

作者: 岁月悄然飞逝徒留回忆_54a5 | 来源:发表于2018-09-13 09:24 被阅读0次

     CREATE TABLE IF NOT EXISTS  表名  charset="utd8"    # 创建表
     CREATE DATABASE 库名                                      #创建数据库
     DROP DATABASE 数据库名字                                    #删除数据库 
     use  库名                                                     # 切换库
     ALTER TABLE 表的名字 add 列名 类型  约束                        #添加列
     ALTER TABLE 表的名字 modify 列名 类型  约束                     # 修改列属性
     ALTER TABLE 表的名字 change 旧列名  新列名  类型 约束;           #修改列名
     ALTER TABLE 表的名字   DROP 列名                               #删除列
     ALTER TABLE 表的名字 ALTER 列名  SET DEFAULT  约束             # 修改列默认属性
     ALTER TABLE 表的名字 ALTER 列名 DROP  DEFAULT                  # 删除列默认属性
     ALTER TABLE 旧的表名 rename  as 新的表名                       # 修改表名字
     rename 旧的名字  to 新的名字                                   # 修改表名字
     drop table 表名                                                                     #删除表
     CREATE TABLE  IF NOT EXISTS  表名(要复制的列名, ..,  不写默认全部) like 要复制的表名           
                                                                      #复制表
     insert into 表名 values(列名的值 必须与表里的相对应)              #插入数据
     insert into 表名(id,name) values(值 须与前面的对应  id 的值  ,name 的值)
     insert into 表名(id ,name,age,date)  select id,name,age,date  from  要copy的表名       
                                                           # 把一个表的数据插入到另一个表中
    delete from 表名 where 条件                                                #删除数据
    delete from 表名
    truncate  table 表名
    区别是delete  可以根据条件删除  并且 删除的数据可恢复  只删除了属性 和 值  保留了结构
         truncate   删除的时候是把表的结构 属性 都删除了  又重新创建了一个表
   update 表名   set  列名=value ,列名=value  where  条件  and 条件      #数据的更新
   select * from 表名                                                                  #可查询表的所有值
   select  id,age  from 表名   where  条件                        #根据条件 可返回 id,age  

表的排序方法

 select  * from 表名  order by  列名  (desc or asc)   #跟据条件 进行排序 即升序或降序,默认 为升序
组合使用的方法
 select  * from 表名  order  by 列名 1   desc  列名 2 asc  #根据列名一先进行降序 然后再根据列名2 进行升序
 select  * from 表名  order by convert (name  using gbk) #使名字按照中文排序

限制查询

 select * from 表名 limit  a , b 
 a 表示从哪一条开始返回 不包括当前行 ,
 b 表示要返回的行数  只写一个默认从第一条返回指定行数数据

order by 和 limit 的组合使用

select * from 表名  order by  列名  desc    limit 1; #可取出这一列中的最大值
select * from 表名  order by  列名  asc    limit 1; #可取出这一列中的最小值

myspl 聚合函数

 max() 最大值
 min() 最小值
count () 总数行数
avg()求取平均值
sum() 求取 一列值的和
select  max(列名),min(列名), avg(列名),count(1) , sum(列名)  from 表名   
#求取指定列的最大值,最小值,列的总数,平均值,数值的总和

分组

select 列名,列名 ..... , ......  from  表名   group by   列名 ,...   #必须跟前面的列名
相对应
# 根据指定列进行分组
分组筛选
  select  列名 ,列名  ... , ... from 表名  group by  列名  having  分组 分组列名 
  会跟分组进行筛选
 select  列名,列名 ... , ....   from 表名   where 条件   group by 列名,..列名 与 前面
相对应 having 分组列名 order by   列名   (asc) OR desc  limit  num
#条件查询的优先级
select  列名, group_concat(列名)    from  表名   group by  列名与前面相对应 
# 获取分组下的指定列的值  

相关文章

网友评论

      本文标题:mysql 表的基本操作

      本文链接:https://www.haomeiwen.com/subject/fxbigftx.html