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数据库,可手动修改为使用其他数据库。


相关推荐
lThE ANDE2 小时前
开启mysql的binlog日志
数据库·mysql
yejqvow122 小时前
CSS如何控制placeholder文字的颜色_使用--placeholder伪元素
jvm·数据库·python
oLLI PILO2 小时前
nacos2.3.0 接入pgsql或其他数据库
数据库
m0_743623922 小时前
HTML怎么创建多语言切换器_HTML语言选择下拉结构【指南】
jvm·数据库·python
xuefuhe2 小时前
SQL Server Registered Server
sqlserver
pele2 小时前
Angular 表单中基于下拉选择动态启用字段必填校验的完整实现
jvm·数据库·python
HHHHH1010HHHHH2 小时前
Redis怎样判断节点是否主观下线_哨兵基于down-after-milliseconds参数的心跳超时判定
jvm·数据库·python
Yushan Bai2 小时前
通过oracle 自动优化任务dbms_sqltune进行SQL优化的实战
数据库·oracle