MySQL命令范例

本文介绍了在Windows系统中启动、停止MySQL服务的方法,以及如何通过命令行连接MySQL服务器,并提供了创建、修改、删除数据库及数据表的操作示例。此外,还详细讲解了如何对查询结果进行排序,定义自定义函数,以及使用用户和局部变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

windows上启动MySQL服务:net start mysql

windows上停止MySQL服务:net stop mysql

连接MySQL服务器命令:mysql -u root -p 123456 -h 127.0.0.1


#修改定界符
delimiter //
#设置客户端字符集
set names gbk
#使用某一个特定的数据库
use test;
#显示所有的数据库
show databases;
#创建数据库
create database db1;
#显示创建的数据库
show create database db1;
#修改数据库
alter database db1 character set utf8;
#删除数据库
drop database db1;
#创建数据表
create table tb_name(
id int unsigned primary key auto_increment,
username varchar(32) not null
);
#修改数据表
#修改列定义
#ALTER TABLE tbl_name MODIFY [COLUMN] col_name column_definition  [FIRST | AFTER col_name]
alter table tb1 modify age int unsigned not null default 0;
#修改列名称
#ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST | AFTER col_name]
alter talbe tb_name change id new_id int unsigned;
#删除数据表
drop table tb1;
#数据表更名
#方法一
#ALTER TABLE tbl_name RENAME [TO | AS] new_tbl_name
#方法二
#RENAME TABLE tbl_name TO new_tbl_name [, tbl_name2 TO new_tbl_name2] ...

#对查询结果进行排序
#[ORDER BY {col_name | expr | position} [ASC | DESC]], ...]
select * from users order by age;
select * from users order by age desc;
select * from users order by age, id desc;

/*自定义函数
CREATE FUNCTION function_name
RETURNS {STRING | INTEGER | REAL | DECIMAL}
routine_body
*/
create function f1() returns varchar(30)
return date_format(now(), '%Y年%m月%d日 %H点:%i分:%s秒');

create function f2(num1 smallint unsigned, num2 smallint unsigned)
returns float(10, 2) unsigned
return (num1 + num2) / 2;

create function adduser(username varchar(20))
returns int unsigned 
begin
insert test(username) values(username);
return last_insert_id();
end

CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
DECLARE M INT;
SET M = N - 1;
  RETURN (
      # Write your MySQL query statement below.
      SELECT DISTINCT Salary FROM Employee ORDER BY Salary DESC LIMIT M, 1
  );
END

#定义用户变量
set @var = 100;
select @var

#定义局部变量
#DECLARE var_name[,...] type [DEFAULT value]

#限制查询结果返回的数量
#[LIMIT {[offset,] row_count OFFSET offset}]


MySQL是一种流行的关系型数据库管理系统,用于存储和管理数据。高级操作通常涉及更复杂的查询、数据处理以及优化性能等方面。以下是几个常见的高级操作: 1. **联接操作** (JOIN): 联接是将两个或更多表中的行基于某些共同字段合并在一起。例如,`INNER JOIN`, `LEFT JOIN`, `RIGHT JOIN`, 和 `FULL OUTER JOIN`。 ```sql SELECT * FROM table1 INNER JOIN table2 ON table1.common_field = table2.common_field; ``` 2. **分组和聚合函数** (GROUP BY and AGGREGATE functions): 对结果集按某个列进行分组,并计算如COUNT(), SUM(), AVG()等统计值。例如: ```sql SELECT column_name, COUNT(*), AVG(age) FROM employees GROUP BY department_id; ``` 3. **子查询** (Subqueries): 将一个查询的结果作为另一个查询的一部分。如找出所有销售额大于平均销售额的产品: ```sql SELECT product_name FROM sales WHERE sale_amount > (SELECT AVG(sale_amount) FROM sales); ``` 4. **索引优化** (Indexing): 索引可以显著提高查询速度。创建索引在`CREATE INDEX`命令中完成,如: ```sql CREATE INDEX idx_employee_name ON employees (name); ``` 5. **事务管理** (Transactions): 保证一组操作要么全部成功,要么全部回滚,使用`BEGIN`, `COMMIT`, 和 `ROLLBACK`关键字。 6. **存储过程** (Stored Procedures): 定义并保存的一系列SQL语句,可以在需要时作为单个单元执行。例如: ```sql DELIMITER // CREATE PROCEDURE get_customer_info(IN customer_id INT) BEGIN SELECT * FROM customers WHERE id = customer_id; END // DELIMITER ; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值