MySQL数据库(原生命令)

MySQL数据库操作指南

MySQL是一个小型的关系型数据库管理系统
1.命令行方式(原生)
2.窗口终端
(1)
连接数据库服务器
mysql  -u root -p
输入密码
使用MySQL命令show  databases
建数据库create  database   数据库名
删除数据库 diop  database   库名
使用数据库 use  库名
启动数据库服务器 net start mysql
关闭mysql服务器   net  start  mysql
查看所有数据库 show databases
desc
创建列表
 create table you(
 id int(11) not null    auto_increment,(主键自增)
name varchar(30) not null,
 age int(3) not null check(age>30),
email varchar(50) not null UNIQUE,(独一无二)
primary key(id)
  )engine=myisam default charset=utf8;


sql语句
是结构化的查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查寻、更新、和管理、关系数据库系统、sql语言可以嵌套、
具有极大的灵活性
1.数据定义语言
2.操作语言
3.控制语言


set character_set_client=gbk;////给表中正确定义存储编码
set character_set_results=gbk;//////定义输出编码

select
from-----表名
where------常用的条件
group by  -----分组
having------判断条件
order  by----排序
limit-----限制查询范围
高级查询语句
1.聚合函数
count(*)统计函数
max(*)找最大值min(*)最小值
sum(*)
avg(平均值)

select mark,count(mark) as renshu  from stu_mark where mark>=80 group by mark having mark>=90 ;
2.分组查询
 select avg(mark),mark from stu_mark group by mark>=90;
3.联合查询
union查询就是把2条或者多条sql语句的查询结果,合并成一个结果集。
联合查询的选择字段具有相同的数据类型。
union all 可以使相同内容不合并。
如果想让内层排序起作用的话需要加上limit   

4.连接查询
一个表的外键就是另一个表的主键。
交叉查询 笛卡儿积
select * from stu_info cross join major;
内链接 inner  join
select stu_info.name,major.major_name from stu_info inner join major on stu_info.major_id=major.major_id;
select stu_info.name,major.major_name from stu_info,major where stu_info.major_id=major.major_id;
外链接
左链接
左连接:左边有的,右边没有的为null

右连接:左边没有的,右边有的为null

内连接:显示左边右边共有的
列出与链接条件匹配的行
列出左表或者右表或者整个表中符合搜索条件的行
select stu_info.name,major.major_name from stu_info left join major on stu_info.major_id=major.major_id;
右链接
select stu_info.name,major.major_name from stu_info right join major on stu_info.major_id=major.major_id;
全链接
两表中找到链接调教
找链接条件相匹配的行
5.子查询
查询条件是另一个select语句的结果
in ,not in,=,!=,exists,not,exists
select * from stu_info where major_id in(select major_id from major);
更新update
update stu_mark set major= '机电',name='乔乔' where sid='1001';
删除delete
delete from stu_mark where sid='1001'  [limit  1] ;
delete from stu_mark order by sid desc limit 1;
like
distinct
desc 降序
asc升序

 

<think>好的,我现在需要回答用户关于崖山数据库(YashanDB)和MySQL数据库命令差异的问题。首先,我需要回想一下之前用户提到的信息,比如他们参与了YashanDB的迁移体验,并提到了YMP工具的使用,以及查看监听地址参数的示例。用户现在想比较两者的命令差异,可能需要具体的例子来说明。首先,我应该从常见的数据库操作入手,比如基本操作、DDL、DML、事务控制、配置管理等方面。需要确保每个例子都准确,并且符合YashanDB和MySQL的实际语法。比如,创建表的时候,MySQL使用ENGINE=InnoDB,而YashanDB可能用不同的语法,或者不需要指定存储引擎。接下来,要注意引用之前用户提供的例子,比如引用中的监听地址参数查询,在YashanDB中使用了SHOWPARAMETER LISTEN_ADDR,而MySQL对应的可能是SHOWVARIABLES LIKE'port'。需要明确这些差异,并正确标注引用来源。 另外,用户可能对事务控制的命令感兴趣,比如自动提交的设置。MySQL使用SET autocommit=0,而YashanDB可能有不同的命令,比如SETAUTOCOMMIT OFF,这需要确认。 还要考虑用户可能的后续问题,比如性能调优命令、存储过程或迁移工具的使用,所以应该在相关问题里提前准备这些方向,帮助用户深入比较。 最后,确保回答结构清晰,分点列出,每个差异都有具体的示例,并且正确引用之前的资料。同时,检查LaTeX格式是否符合要求,行内公式用$...$,独立公式用$$...$$,但在这个问题中可能数学公式较少,但如果有涉及数值的地方要注意格式。比如端口号1688在引用中出现,可能需要用$1688$,不过这里可能不需要,根据示例来看,用户的问题可能不涉及数学表达式,但需要遵循系统级指令的格式要求。 现在需要组织这些信息,确保每个部分都有对应的命令对比,并且引用正确。同时,生成的相关问题要围绕用户可能的兴趣点,比如迁移工具的使用、性能对比、兼容性等。</think>### 崖山数据库MySQL命令差异对比 崖山数据库(YashanDB)与MySQL命令语法上存在部分差异,主要体现在**数据定义、参数配置、事务控制**等方面。以下是具体对比: --- #### 1. **基本操作命令** - **查看数据库版本**: - MySQL:`SELECT VERSION();` - YashanDB:`SELECT BANNER FROM V$VERSION;` [^2] - **查看监听地址与端口**: - MySQL:`SHOW VARIABLES LIKE 'port';` - YashanDB:`SHOW PARAMETER LISTEN_ADDR;`(返回格式如`172.10.1.122:1688`)[^2] --- #### 2. **数据定义语言(DDL)** - **创建表**: ```sql -- MySQL(指定存储引擎) CREATE TABLE user (id INT PRIMARY KEY) ENGINE=InnoDB; -- YashanDB(无需指定引擎) CREATE TABLE user (id NUMBER PRIMARY KEY); ``` - **修改表结构**: ```sql -- MySQL(支持即时添加列) ALTER TABLE user ADD COLUMN name VARCHAR(255); -- YashanDB(需明确数据类型精度) ALTER TABLE user ADD (name VARCHAR2(100)); ``` --- #### 3. **数据操作语言(DML)** - **插入数据**: ```sql -- MySQL(支持多种语法) INSERT INTO user VALUES (1, 'Alice'); -- YashanDB(需严格匹配数据类型) INSERT INTO user (id, name) VALUES (1, 'Alice'); ``` - **分页查询**: ```sql -- MySQL(使用LIMIT) SELECT * FROM user LIMIT 10 OFFSET 20; -- YashanDB(使用ROWNUM或OFFSET-FETCH) SELECT * FROM user WHERE ROWNUM <= 10; ``` --- #### 4. **事务控制** - **开启事务**: ```sql -- MySQL(默认自动提交) SET autocommit=0; -- YashanDB(显式关闭自动提交) SET AUTOCOMMIT OFF; ``` - **保存点(Savepoint)**: ```sql -- MySQL SAVEPOINT sp1; -- YashanDB SAVEPOINT sp1; -- 语法相同,但实现可能依赖日志配置[^1] ``` --- #### 5. **配置与管理** - **参数查询**: ```sql -- MySQL SHOW VARIABLES LIKE 'max_connections'; -- YashanDB SHOW PARAMETER MAX_SESSIONS; -- 参数命名风格更接近Oracle[^2] ``` - **性能分析**: - MySQL:`EXPLAIN SELECT * FROM user;` - YashanDB:`EXPLAIN PLAN FOR SELECT * FROM user;`(需结合`DBMS_XPLAN`查看)[^1] --- ### 核心差异总结 | 类别 | MySQL | YashanDB | |------------|--------------------------------|-------------------------------| | **存储引擎** | 多引擎(InnoDB、MyISAM) | 单一引擎,高度集成优化 | | **数据类型** | 宽松(自动类型转换) | 严格(需显式指定精度) | | **兼容性** | 遵循SQL标准 | 兼容Oracle/MySQL混合语法[^1] | | **迁移工具** | 原生工具(mysqldump) | 依赖YMP工具(自动化迁移)[^1] | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值