mysql常用命令

describe tablename;  显示表的列结构

show  status , 用于显示广泛的服务器状态信息

show create database  name, 显示创建数据库的sql语句

show create table name  , 显示创建表的sql语句

select distinct columnname  , 选择不同值的列表

limit n , m   n从0开始,选取m列

order by 默认升序,降序为DESC ,位于from语句之后,limit之前

where比较语句中,between a and b  指定位于a、b之间,

in (a,b) 条件中符合a或者b, 比or更直观,更高效

mysql支持使用not对in、between和exists子句取反, where not in、between、exits

空值检查  where column is null

组合where子句中,优先处理and,再处理or操作符,所以条件的组合最好用小括号明确标出

like语句中,%表示任何字符出现任意次数,_下划线只匹配单个字符而不是多个字符,通配符效率低,尽量防在条件的后面

where条件判断中可以加 正则表达式,regexp '表达式' ,

    [123]   匹配1或2或3

    [^123]  匹配除1,2,3之外的字符

    ^[123]  匹配123开头的字符,$表示结尾

    [1-9]  匹配1到9之间的任何值

    {n}重复n次

    \\为转义字符,如\\.   \\-

concat()拼接字符串函数

Date() 返回日期时间的日期部分,如where Date(date) between '2005-09-01' and '2005-09-30';

Day() 返回一个日期的天数部分

聚集函数用来汇总数据,如avg(),count(),max(),min(),sum()

分组数据,group by 子句指示mysql分组数据,然后对每个组而不是整个结果集进行聚集,条件筛选用having而不是where,where没有分组的概念,where过滤行,having过滤分组

select  子句及其顺序  select -> from -> where -> group by -> having -> order by -> limit

select 子查询  如select from where in (select ...) 效率不高

 

外键为某个表中的一列,它包含另一个表的主键值,定义了两个表之间的关系,维护了引用完整性

inner join 并不以谁为基础,它显示符合条件记录

left join 以左表为基础,把右表关联进来,左表全部显示,右表中没有符合条件时为NULL也要显示出来

right join  刚好相反

union  组合查询多条select子句,功能上类似where语句中 or 分隔查询条件

MyIsam引擎提供全文本搜索,如:where Match(text) Aggainst('rabbit'),将检索出含有rabbit的列

 

插入数据格式

insert into tablename(c1,c2....) values (a,b....)

可以用insert select  将select出的数据作为insert的values

update tablename  set   where

delete from tablename where

alter table tablename add  columnname char(20);  alter table tablename drop column columnname;

alter table tablename add constraint fk_identy foreign key (a,id) references tableb (b.id);

 

视图是虚拟的表,只包含使用时动态检索数据的查询,可以重用sql语句,简化复杂的sql操作,保护数据

视图主要用于数据检索,而不用于更新

1.隐藏复杂sql,这通常都会涉及联接

    create view name as select表联接语句

2. 用视图重新格式化检索出的数据

    create view name as select格式化取出字段

   

存储过程就是为以后使用而保存的一条或多条mysql语句的集合,可将其视为批处理文件。复用性和安全性

call  存储过程(@参数);create procedure 存储过程(输出参数) begin ...  end

mysql游标只能用于存储过程

mysqldump用于数据库备份

 

如果Table1和Table2都存在,可使用以下语句复制表

INSERT INTO SELECT语句

      语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1

 

 

 

 

 

以下是一些 MySQL 常用命令的分类介绍: ### 数据库连接和管理 - 连接 MySQL 服务器:`mysql -h host -u username -p`,其中 `host` 是服务器地址,`username` 是用户名,输入该命令后会提示输入密码 [^1]。 ### 数据库操作命令 - 创建数据库:`CREATE DATABASE database_name;` - 删除数据库:`DROP DATABASE database_name;` - 使用数据库:`USE database_name;` ### 数据表操作命令 - 创建表: ```sql CREATE TABLE table_name ( column1 datatype, column2 datatype, ... ); ``` - 删除表:`DROP TABLE table_name;` - 修改表结构,例如添加列:`ALTER TABLE table_name ADD column_name datatype;` ### 数据查询命令 - 基本查询: ```sql SELECT column1, column2, ... FROM table_name WHERE condition; ``` - 分组查询: ```sql SELECT column1, COUNT(*) FROM table_name GROUP BY column1 HAVING condition; ``` - 排序查询: ```sql SELECT column1, column2 FROM table_name ORDER BY column1 ASC|DESC; ``` - 分页查询:`SELECT * FROM table_name LIMIT offset, count;` [^2] ### 数据修改命令 - 插入数据:`INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);` [^3] - 更新数据: ```sql UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition; ``` - 删除数据: ```sql DELETE FROM table_name WHERE condition; ``` ### 索引管理命令 - 创建索引:`CREATE INDEX index_name ON table_name (column1, column2, ...);` - 删除索引:`DROP INDEX index_name ON table_name;` ### 用户权限管理 - 创建用户:`CREATE USER 'username'@'host' IDENTIFIED BY 'password';` - 授予权限:`GRANT privilege_type ON database_name.table_name TO 'username'@'host';` - 撤销权限:`REVOKE privilege_type ON database_name.table_name FROM 'username'@'host';` ### 备份与恢复 - 备份数据库:`mysqldump -u username -p database_name > backup_file.sql` - 恢复数据库:`mysql -u username -p database_name < backup_file.sql` ### 性能优化命令 - 分析表:`ANALYZE TABLE table_name;` - 优化表:`OPTIMIZE TABLE table_name;` ### 系统信息查看 - 查看 MySQL 版本:`SELECT VERSION();` - 查看当前使用的数据库:`SELECT DATABASE();`
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值