MySQL与SQL Server的基本指令

注:使用终端操作mysql时,一定要"以管理员身份运行",不然权限不够。


一、启动:

mysql: net start mysql(mysql服务器的名字)从命令行角度

mysql --uroot(登录用户名)-proot(登录密码)

sqlserver:从图形图像角度介绍。

例如:


二、基本使用操作:

1.mysql(m)和sqlserver(s):不区分大小写

2.结尾:

mysql:以分号;或者\g结尾。例如:select now();

ctrl +c( 2个键同时按下)强制退出mysql到cmd命令行

sql server:以分号结尾,也可以省略。例如:select getdate();

例如:

3.单行注释符:

mysql:#或者--(注意,--后面要有一个空格)

sqlserver:--无需要一个空格要求

4.查看所有数据库:

mysql:show databases;

show variables like 'datadir';--用它来查询数据存放地址

通常win10 默认:C:\ProgramData\MySQL\MySQL Server 8.0\Data\

sqlserver:sp_databases;

默认路径:C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA

5.打开某一数据库:

mysql:use sjk;(数据库名称)

sqlserver:use sjk;(同上)

6.查看当前数据库:

mysql:select database();

sqlserver:select DB_NAME();

7.查看当前数据库中表:

mysql:show tables;

sqlserver:sp_tables;


三、SQL基本命令:

1.创建模式:

mysql:create schema 模式名;等同于创建数据库。

sqlserver:create schema 模式名;在sql-server中创建模式其实就是为用户创建一个架构(命名空间)。在旧版本的sql-server中,没有架构这个说法,这是因为以前的sql-server使用用户名来充当架构,就是说用户名跟架构其实隐式的连在一起的,不需要我们关心。但后来的sql-server版本为了便于管理,就将架构和用户名分开了。

1)创建数据库:

mysql:create database 库名;

(若已经执行了多个sql语句,按键盘的^或者下键可以切换到上一个或者下一个sql语句)

sqlserver:create database 库名;

SqlServer给出一个较完成创建数据库例子(包括数据文件和日志文件):

create database CommonPermission

on primary --表示属于 primary 文件组

( name='cpDB_data', -- 主数据文件的逻辑名称

filename='C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQL\MSSQL\DATA\cpDB_data.mdf', -- 主数据文件的物理名称 size=5mb, --主数据文件的初始大小

maxsize=100mb, -- 主数据文件增长的最大值

filegrowth=15% --主数据文件的增长率

)

log on

( name='cpDB_log', -- 日志文件的逻辑名称

filename='C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQL\MSSQL\DATA\cpDB_log.ldf', -- 日志文件的物理名称 size=2mb, --日志文件的初始大小@

maxsize=20mb, --日志文件增长的最大值

filegrowth=1mb --日志文件的增长率 )

查看一下数据库情况:

mysql:show databases;

sqlserver:sp_databases;

2)创建表:

CREATE TABLE 表名(列名1 数据类型 列级约束条件,...);

create table xuesheng(sno char(10),sname char(20));

3)修改表:
a)添加列:

mysql:alter table 表名 add column 列名 类型 first\|after 列名

alter table s add column ss int;

sqlserver:alter table 表名 add 列名 类型;

alter table s add ss int;

b)查看表结构:

mysql:desc 表名;(这个是表,创建表的命令是关于tables,数据库是databases)

desc s;

sqlserver:sp_help 表名;或者sp_columns 表名;

sp_help s;

c)修改列:

mysql:alter table 表名 modify column 列名 类型新约束

sqlserver: alter table 表名 alter column 列名 类型;

d)修改列名:

mysql:alter table 表名 change column 列名 新列名 类型;

sqlserver:sp_rename '表名.旧列名','新列名','column';

sp_rename 'tt.tnum', num,'column';

e)删除列:

mysql:alter table 表名 drop column 列名;

sqlserver:alter table 表名 drop column 列名;

f)修改表名:

mysql:alter table 表名 rename to 新表名;

sqlserver:sp_rename 表名 , 新表名;


四.SQL Server操作演示:

如上图,运行程序后并刷新才会显示结果。

如上图,SQL Server为脚本语言,每次从头执行,所以执行完的语句就注释掉,不然会报错。

如上图,会发现程序报错,这是因为sjk此时在终端也运行,因此把终端关闭即可。

use sjk表示使用sjk数据库,此时左上角就会显示使用sjk数据库,可手动修改为使用其他数据库。


相关推荐
阮胜昌8 小时前
MySQL 中的动态数据脱敏:无需更改应用程序即可保护敏感数据
android·mysql·adb
小白说大模型10 小时前
AI驱动的个性化学习路径:知识图谱与知识点关联的存储与推理
大数据·人工智能·学习·mysql·机器学习·prompt·知识图谱
这个DBA有点耶10 小时前
多模数据库深度解读:从“多库拼装”到“一库多能”的架构演进
数据库·mysql·dba
程序员夏洛11 小时前
MySQL 默认的事务隔离级别是什么?为什么选择这个级别?
数据库·mysql
艺术留白11 小时前
MokaTest使用篇-SQL接口
数据库·sql
卓怡学长11 小时前
w180springboot基于Java的悠扬乐器管理
java·spring boot·mysql·spring·maven·intellij-idea
( •̀∀•́ )92012 小时前
MySQL 自动备份与恢复方案
数据库·mysql·oracle
这个DBA有点耶12 小时前
大事务的“事前预防”:监控、拦截、Kill,四层防线一次讲透
数据库·mysql·代码规范
tachibana212 小时前
RAGAS 指标解读
数据库·人工智能·算法·机器学习·架构·大模型·llm
mlidongfeng13 小时前
[AI][昇腾950]TA 学习
数据库·学习