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 表名 , 新表名;

2.获取当前时间:


四.SQL Server操作演示:

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

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

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

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


五.SQL的基本概念:


六.索引:


七.数据查询:

1.格式:

2.实例:

SQL Server不要用给的默认数据库master。

3.查询满足条件的元组:

4.HAVING与WHERE的区别:

5.连接查询:

6.等值与非等值连接查询:

7.复合条件连接查询:

8.自身连接:

9.外连接查询:

10.嵌套查询:

11.带有比较运算符的子查询:

如上图,要找的是自己的,所以为了区分,给自己起两次别名,分别为x,y。

12.带有ANY(SOME)或ALL谓词的子查询:

13.带有EXISTS谓词的子查询:


八.大小写转换:


九.去重:

实例:

注:去重是针对每一行的即元组,如果多行内容不同,才能去重。


十.谓词:

1.概述:

MySQL 中的谓词(Predicate)就是返回 TRUE / FALSE / UNKNOWN 的条件表达式,主要用在 WHEREONHAVINGJOIN 里做数据过滤,可以把它理解成:判断条件

最通俗的解释:谓词 = 返回布尔值(真 / 假)的函数 / 表达式

谓词的作用只有一个:让 MySQL 知道:哪些行要保留,哪些行要扔掉。

a.MySQL 里常见的谓词:
1. 比较谓词:
=   >   <   >=   <=   !=   <>

例子:

WHERE age > 18
2. 范围谓词:
BETWEEN ... AND ...
3. 列表匹配谓词:
IN (值1, 值2, ...)
4. 模糊查询谓词:
LIKE
5. 空值判断谓词:
IS NULL
IS NOT NULL

⚠️ NULL = NULL 不是谓词,永远不成立;必须用 IS NULL

6. 存在性谓词:
EXISTS
NOT EXISTS
7. 量化谓词:
ALL
ANY
SOME
b、一个例子看懂 “谓词”:
SELECT * FROM student
WHERE 
  age BETWEEN 18 AND 25   -- 谓词
  AND name LIKE '张%'     -- 谓词
  AND email IS NOT NULL; -- 谓词

这里 BETWEENLIKEIS NOT NULL 全都是谓词

c、核心特点(面试常考):
  1. 返回值只有三种TRUE / FALSE / UNKNOWN
  2. 专门用于过滤数据
  3. NULL 只能用 IS NULL / IS NOT NULL 判断,不能用 =
  4. 谓词 ≠ 函数,但很多谓词长得像函数
d.总结:
  • 谓词 = 返回真 / 假的条件表达式
  • 作用:过滤行
  • 常见:= > < BETWEEN IN LIKE IS NULL EXISTS

2.细节:


十一.字符匹配:


十二.有关空值的查询:


十三.多重条件查询:


十四.函数:


十五.LIMIT子句:


十六.SQL语句执行顺序:


十七.基本操作:

1.插入一个元组(行):

2.修改数据:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值