Mysql学习->DML和DDL语句
DDL语句:数据库定义语言,一般是对数据库的操作,create,drop,alter等
DML语句:数据操作语言,curd操作
DDL:
create databases 数据库名 //创建一个数据库
show databases 数据库名 //查看数据库
use databases 数据库名 //使用数据库
drop databases 数据库名 //删除数据库 删除数据库后数据库中的库和表全部会被清空
#创建数据库
create table 数据库名(
column_name(字段名) column_type(数据类型) constraints(约束条件,一般为空非空默认等)
)
desc 数据表名 查看数据表的信息
show create table 数据库表名 \G 查看数据表信息(全面) \G是代表竖向排列
drop table 数据表名 删除数据表
#一般对已经创建好的表,需要做结构上的变动就需要alter table 语句
alter table 数据表名 modify column_name(字段名) column_type(数据类型) //修改表字段,只能修改其字段类型
alter table 数据表名 add column_name(字段名) column_type(数据类型) //新增数据表字段
alter table 数据表名 drop column column_name(字段名) //删除数据字段
alter table 数据表名 change column_name(列名) column_type(数据类型) //修改字段名,可以修改字段名和字段类型,比modify多一个功能
alter table 数据表名 rename 表名 //修改数据表名
其中有first | after ,这个两个关键字是字段排序、
DML语句:
  insert into 表名 values(value1,value2,...) 新增数据,values后面的顺序要和字段的的排序一致,有默认值的字段,自增的字段可以不用写在values后面
	  insert into 表名 (字段1,字段2) values (value1,value2) 
	  第二种方式可以大大提升插入数据库的效率
	  update 表名 set 字段 = value [wehere 条件]	修改数据,也可以多表一同更新
	  delete from 表名 [where 条件]			删除数据,也可以删除多表或关联的表
	  删除表或更新的时候需要加更新条件,不然很容易修改整个表或删除整个表
	  select * from 表名  				查询数据
	  select distinct 字段 from 表名			查询这个表这个字段不重复的数据
	  select * from 表名 where[条件]			条件查询
	  select * from 表名 order by 字段 desc|asc	排序查询,关键字是order by  其中desc是倒序排,asc是正序排
	  select * from 表名  limit[条数]			limit起始偏移量	
	
	  #聚合
	  count 记录数
	  sum   求和
	  max   最大值
	  min   最小值
	  一般都是和GROUP BY 分组一起使用
	  HAVING 对分组后的结果在进行条件的过滤
	
	  where和having的区别在于,haveing是对聚合后的结果进行条件的过滤,而where是聚合前进行了过滤,一般先用where进行过滤,在进行having过滤
	
	  #表连接[内连接,外连接]
	  内连接:仅选出两张表中相互匹配的记录
	  外连接:选出其他不匹配的记录
	
	  内连接: select * from 表1,表2, where 表1.字段名1 = 表2.字段名2
	  外连接:
		  左连接:包含左表中的记录和右表中没有和他匹配的记录	select * from 表1 left join 表2 on 表1.字段1 = 表2.字段2   	left join
		  右连接:包含右表中的记录和左表中没有和他匹配的记录	select * from 表1 right join 表2 on 表1.字段1 = 表2.字段2	right join
		
	  #记录联合UNION 和 UNION ALL的区别
	  UNION ALL 是将结果集直接合并在一起
	  UNION 是将合并后的结果在一次进行distinct(去重)操作
还有一个DCL一句是对数据库权限的操作一般为grant 和 revoke
                    
                
                
            
        
浙公网安备 33010602011771号