mysql中more语句_Mysql 基础知识积累

1、显示数据库的所有表名称

show TABLES like 't_school'

select * from INFORMATION_SCHEMA.TABLES like 't_school'

2、显示表结构

describe 表名 、 desc  表名 , 类似于命令 sp_text table

3、删除表

drop table IF EXISTS 表名 , 有个好处就是在表不存在的时候也不会报错。

4、复制表结构

create table 新表 like 旧表;注意只是复制表结构,主键也会复制成功,该表必须不存在

create table t_hwp select * from t_classes; 复制表结构和数据,但是不会复制主键

5、显示建表语句

show create table 表名;类似于 sqlserver 命令 sp_help

6、清空表数据

truncate table 表名;这个和 delete from 表名 差不多

差异:

效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。

delete的效果有点像将mysql表中所有记录一条一条删除到删完,

而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。

7、修改表结构

1)给列更名

>alter table 表名称 change 字段名称 字段名称 ;

2)给表更名

>alter table 表名称 rename 表名称

3)修改某个表的字段类型及指定为空或非空

>alter table 表名称 change 字段名称字段名称 字段类型 [是否允许非空];

>alter table 表名称 modify 字段名称字段类型 [是否允许非空];

4、修改某个表的字段名称及指定为空或非空

>alter table 表名称 change 字段原名称字段新名称 字段类型 [是否允许非空];

8、修改表结构

1)增加一个字段(一列)

>alter table table_name add column column_name type default value;

type指该字段的类型,value指该字段的默认值

2)更改一个字段名字(也可以改变类型和默认值)

>alter table table_name change sorce_col_name dest_col_name type defaultvalue;

source_col_name指原来的字段名称,dest_col_name 指改后的字段名称

3)改变一个字段的默认值

>alter table table_name alter column_name set default value;

4)改变一个字段的数据类型

>alter table table_name change column column_name column_name type;

5)向一个表中增加一个列做为主键

>alter table table_name add column column_name type auto_increment PRIMARYKEY;

6)将两个表里的数据拼接后插入到另一个表里。

>insert into tx select t1.com1,concat(t1.com2,t2.com1) from t1,t2;

7)删除字段

>alter table form1 drop column 列名;

9、查询时使用的日期函数

1)year(data):返回data表达式中的公元年分所对应的数值

2)month(data):返回data表达式中的月分所对应的数值

3)day(data):返回data表达式中的日期所对应的数值

10、查询当中的 group by 谨慎使用

之所以说要谨慎使用是因为,在oracle、SQLServer、PostgreSQL等数据库管理系统下,都是这样规定的,在查询时如果没有使用group by 的字段,如果在是查询字段那么必须使用聚合函数包装起来,在mysql这里居然不需要,然后我验证了一下结果发现,mysql虽然不会报错,但是查询结果却是错误的,他只是返回满足结果的第一条记录,因为他是先 group by 字段看有多少条。

无论如何,使用 group by 时,必须保证标准语法。另外distinct的效率没有group by 高,如果需要使用去重时,就可以使用 group by 替换 distinct 。

11、limit 的使用

limit 0 , 10  意思是从第一条记录开始,查询10条。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值