- nginx: [emerg] unknown directive “stub_status“ in D:\nginx-1.20.2/conf/nginx.conf:31
夜雪一千
nginx运维
在Nginx的配置文件中遇到unknowndirective"stub_status"错误通常意味着stub_status模块没有被编译到Nginx中,或者该模块的配置位置不正确。stub_status模块是Nginx的一个内置模块,用于提供Nginx服务器的状态信息,但它可能不是所有Nginx安装的默认部分,尤其是在某些特定的构建或发行版中。以下是一些解决这个问题的步骤:1.确认Nginx是否包
- vscode报错:Elements in iteration expect to have 'v-bind:key' directives.eslint-plugin-vue
月中眠_d56d
今天在查看项目时,发现了一个vscode的报错:image.png报错信息:[vue/require-v-for-key]Elementsiniterationexpecttohave'v-bind:key'directives.eslint-plugin-vue原因是安装了ESLint插件,对vue进行了eslint检查,只需将这个规则检查屏蔽掉即可。具体操作如下:文件-首选项-设置-在搜索框中
- Cortex-M3(2) 汇编启动文件分析
keven-wang
Cortex-M3Cortex-M3启动文件STM32F429汇编
1、汇编文件理解与分析参考:https://blog.csdn.net/cacti_one/article/details/72811281由于启动代码是用汇编语言写的,并且启动代码中有大量的伪指令(Directives),所以,在正式介绍启动代码前,先来介绍下相关的伪指令。一、伪指令(Directives)由于MDK中的汇编器(汇编编译器)用的是ARM的汇编器,所以可以从ARM官网下载汇编器的用
- thinkphp报错No input file specified. (对于隐藏url中的index.php 是如何做到的?)
S_Yes
PHPthispanidtransmarkspanidtransmarksty
thinkphp51.去除httpd.conf文件中"#LoadModulerewrite_modulemodules/mod_rewrite.so"前面的"#"号;2.修改httpd.conf文件中的AllowOverrideNone为AllowOverrideAll,目的是支持.htaccess文件;##AllowOverridecontrolswhatdirectivesmaybeplace
- 一文带你读懂vue3中directive指令的那些事
Jinuss
源码前端Vuevue.js前端javascript
概述vue3中内置了很多丰富实用的指令,如v-show、v-if/v-else或v-model等,但是实际开发中可能我们还需要某些统一的处理,比如交互按钮的防抖,输入框的自动focus等,这时我们就可以通过vue3的directive注册自定义指令。指令指令钩子vue3的自定义指令通常情况下是由一个包含类似组件生命周期钩子函数的对象,在DOM节点不同的时期,执行不同的钩子函数,而我们就可以在对应的
- vue3-巧用指令
qfxietian
前端vuevue.jsjavascript前端VUE开发语言
不知道大家在工作中用上vue3了没有,vue3好是好,但是有部分插件并没有更新到3.0的,比如我比较喜欢的自定义滚动条overlayscrollbars,vue3直接使用overlayscrollbars-vue会报错。今天我们主要介绍一下如何使用指令来应用这些插件,自定义滚动条overlayscrollbars以及拖拽sortablejs。directive指令的话这里就不多说了,参考官方文档(
- Vue vue/cli3 与 vue/cli4 v-for 和 v-if 一起使用冲突
csdn_aspnet
VUEvue.jsjavascript前端
问题描述异常信息:[vue/no-use-v-if-with-v-for]The'this.$router.options.routers'expressioninside'v-for'directiveshouldbereplacedwithacomputedpropertythatreturnsfilteredarrayinstead.Youshouldnotmix'v-for'with'v-
- vue防止按钮多次点击进行节流,进行封装自定义指令
1.新建repeatStop.js文件importVuefrom'vue'//阻止按钮重复提交Vue.directive("repeatStop",{bind(el,binding){lettimer=null;//用于存放计时器的变量el.addEventListener('click',()=>{if(!timer){console.log(binding)binding.value.func
- 大写锁定已开启 指令v-XXX开发
weixin_43062742
javascript前端开发语言
需求背景:产品要求密码框提示”大写锁定已开启“类似百度的这种。思路方案一:当然最简单的方法就是input输入框focus的时候去判断是否开启大写按钮,但是复用性很差,基本上每个密码框都要写一遍js和css;方案二:本项目使用vue2+ele开发的,所以准备用指令去实现这个功能,后面使用的时候可以直接复用;学习先百度了指令的初阶//注册Vue.directive('my-directive',{bi
- [Angular 基础] - 生命周期函数
GoldenaArcher
#Angularangular.jsjavascript前端
[Angular基础]-生命周期函数之前的笔记:[Angular基础]-Angular渲染过程&组件的创建[Angular基础]-数据绑定(databinding)[Angular基础]-指令(directives)以上为静态页面,即不涉及到跨组件交流的内容以下涉及到组件内的沟通,从这开始数据就“活”了[Angular基础]-自定义事件&自定义属性[Angular基础]-视图封装&局部引用&父子组
- [Angular 基础] - 视图封装 & 局部引用 & 父子组件中内容传递
GoldenaArcher
#Angularangular.js前端javascript
[Angular基础]-视图封装&局部引用&父子组件中内容传递之前的笔记:[Angular基础]-Angular渲染过程&组件的创建[Angular基础]-数据绑定(databinding)[Angular基础]-指令(directives)以上为静态页面,即不涉及到跨组件交流的内容以下涉及到组件内的沟通,从这开始数据就“活”了[Angular基础]-自定义事件&自定义属性下面的例子依旧会沿用[A
- Vue-自定义属性和插槽(五)
smilehjl
Vuevue.js前端javascript
目录自定义指令基本语法(全局&局部注册)指令的值练习:v-loading指令封装总结:插槽(slot)默认插槽插槽-后备内容(默认值)具名插槽具名插槽基本语法:具名插槽简化语法:作用域插槽综合案例:商品列表自定义指令基本语法(全局&局部注册)自定义指令:自己定义的指令,可以封装一些dom操作,扩展额外功能全局注册:Vue.directive('focus',{ "inserted"(el){ e
- vue中多个input焦点切换问题
一个被程序员耽误的厨师
业务场景是这样的:左边菜单栏有多个菜单项,点击不同的菜单项,右侧相对应的input获得焦点需求图开始以为问题很简单只是一个focus问题,其实问题不是那么简单,vue框架中的表单输入框不支持focus以及blur事件的解决方案,那么如何解决这个问题呢?这里用到的Vue.directive自定义指令,下面简单的说下自定义指令。1、自定义指令中三个参数el://指令所绑定的元素binding://一个
- 头文件提示错误unterminated conditional directive问题
醉月、
问题及解决方案
头文件提示“unterminatedconditionaldirective”错误原因为对应的头文件没有”#endif”,或者#endif书写错误
- PHP安装后错误处理
php
一:问题安装PHP后提示错误如下二:解决1:Warning:Module'mysqli'alreadyloadedinUnknownonline0解决原因:通过php.ini配置文件开启mysqli扩展的时候,开启了多次解决:将php.ini配置文件中多个extension=mysqli只保留一个。2:Deprecated:Directive'track_errors'isdeprecatedin
- 无法通过 iframe 将百度首页嵌入到自己的前端应用里
遇到错误消息:Refusedtoframe'https://www.baidu.com/'becauseanancestorviolatesthefollowingContentSecurityPolicydirective:"frame-ancestors'self'https://chat.baidu.comhttp://mirror-chat.baidu.comhttps://fj-chat
- SAP Spartacus component-wrapper自定义指令的实现
JerryWang_汪子熙
自定义指令的路径:C:\Code\SPA\spartacus\projects\storefrontlib\src\cms-structure\page\component\component-wrapper.directive.ts指令的选择器:cxComponentWrapper只有5个文件里用到了,似乎应用不是很广泛:
- element-ui 下拉框监听滚动事件
三日月_4a25
因为数据过多简单节流Vue.directive('loadmore',{bind(el,binding){//获取element-ui定义好的scroll盒子constSELECTWRAP_DOM=el.querySelector('.el-select-dropdown.el-select-dropdown__wrap')SELECTWRAP_DOM.addEventListener('scro
- Makefile学习笔记——6.Makefile的条件执行
tianyl
Makefile的条件执行1前言条件语句可以根据一个变量的值来控制make执行或者忽略Makefile的特定部分。条件语句可以是两个不同变量、或者变量和常量值的比较注意:条件语句只能用于控制make实际执行的makefile文件部分,它不能控制规则的shell命令执行过程2基本语法一个简单的不包含“else”分支的条件判断语句的语法格式为CONDITIONAL-DIRECTIVETEXT-IF-T
- PHP安装后错误处理
huaweichenai
php开发语言
一:问题安装PHP后提示错误如下二:解决1:Warning:Module'mysqli'alreadyloadedinUnknownonline0解决原因:通过php.ini配置文件开启mysqli扩展的时候,开启了多次解决:将php.ini配置文件中多个extension=mysqli只保留一个。2:Deprecated:Directive'track_errors'isdeprecatedin
- angular 绑定自定义属性_angular自定义属性指令
王的机器
angular绑定自定义属性
在angular中有三种类型的指令:组件–拥有模板的指令;结构性指令–通过添加和移除DOM元素改变DOM布局的指令;属性型指令–改变元素、组件或其他指令的外观和行为的指令;组件是这三种指令中最常用的。结构性指令修改视图的结构,例如ngfor和ngif。属性型指令改变一个元素的外观或行为。属性型指令至少需要一个带有@Directive装饰器的控制器类。该装饰器指定了一个用于标识属性的选择器。控制器类
- angular 绑定自定义属性_angular的自定义属性
觉主小VV
angular绑定自定义属性
app.directive('myBtn',[function(){//在这里直接return一个对象就可以了return{//template属性,是封装的ui//template:'我是按钮',//A.作用也是提供字符串,对应的内容会被添加到自定义指令所在位置//值是一个html文件所在位置//B.值也可以是一个script标签的id//templateUrl:'./01.template.h
- angular -- 自定义指令和模板
weixin_33895016
javascript前端ViewUI
angular可以自定义一些指令,来简化我们前端的工作量。第一种:简单指令示例:自定义指令JS示例:varmyApp=angular.module('myApp',[]);myApp.directive("sheng",function(){return{template:"你好"};});第二种:引入外部文件:模板-引入外部文件JS示例:myApp.directive("shi",functio
- Angular2-自定义指令@Directive
小处成就大事
Angular
我们按照下面的步骤一步一步带着思考去学习,相信很容易就能掌握Angular自定义指令,废话不多少,开始学习,你准备好来吗?概述所谓指令就是用于改变一个DOM元素的外观或行为,Angular2为我们封装了很多的内置指令,项目中也无时无刻不在使用指令,Angular2中有三类指令(1).结构型指通过添加和移除DOM元素改变DOM布局的指令,例如:Ngif和Ngfor(2).属性型指令改变元素、组件或其
- angular自定义指令作用域&--传递引用
Inuyasha1121
AngularJS语法
独立作用域和函数参数通过使用本地作用域属性,你可以传递一个外部的函数参数(如定义在控制器$scope中的函数)到指令。这些使用&就可以完成。下面是一个例子,定义一个叫做add的本地作用域属性用来保存传入函数的引用:angular.module('directivesModule').directive('isolatedScopeWithController',function(){return{
- [Angular 基础] - 自定义事件 & 自定义属性
GoldenaArcher
#Angularangular.js前端javascript
[Angular基础]-自定义事件&自定义属性之前的笔记:[Angular基础]-Angular渲染过程&组件的创建[Angular基础]-数据绑定(databinding)[Angular基础]-指令(directives)以上是能够实现渲染静态页面的基础之前的内容主要学习了怎么通过绑定原生HTML(style,class,click等)和Angular(ngFor,(click),{{stri
- 第一个 Angular 项目 - 静态页面
GoldenaArcher
项目angular前端
第一个Angular项目-静态页面之前的笔记:[Angular基础]-Angular渲染过程&组件的创建[Angular基础]-数据绑定(databinding)[Angular基础]-指令(directives)这是在学完了上面这三个内容后能够完成的项目,目前因为还没有学到数据在不同组件之前的传输,因此只会有一个UI的渲染,而不会涉及到事件的实现业务需求wireframe如下:简单的说起来就是当
- vue自定义全局指令:绑定在el-input上,使输入框自动获取焦点
shawxlee
Vue参考手册【置顶】vuedirective自定义指令elementui
注册全局指令:importVuefrom'vue'//绑定在el-input上,使输入框自动获取焦点Vue.directive('focus',{inserted:function(el){el.querySelector('input').focus()},})在组件上应用指令:
- vue3:27—全局API转移到应用对象
有蝉
vue3vue.js前端javascript
app.componentapp.configapp.directiveapp.mountapp.unmountapp.usemain.tsimport{createApp}from'vue'importAppfrom'./App.vue'importHellofrom'./Hello.vue'//创建应用constapp=createApp(App)//全局组件app.component('He
- Vue 指令、数据及事件绑定、条件和列表渲染
YuLong~W
Vuevue.jsjavascript指令数据绑定列表渲染
文章目录Vue指令内容渲染指令属性绑定指令事件绑定指令双向绑定指令条件渲染指令列表渲染指令Vue指令指令(Directives)是vue为开发者提供的模板语法,用于辅助开发者渲染页面的基本结构。注意:指令是vue开发中最基础、最常用、最简单的知识点。vue中的指令按照不同的用途可以分为如下6大类:①内容渲染指令②属性绑定指令③事件绑定指令④双向绑定指令⑤条件渲染指令⑥列表渲染指令内容渲染指令内容渲
- jQuery 跨域访问的三种方式 No 'Access-Control-Allow-Origin' header is present on the reque
qiaolevip
每天进步一点点学习永无止境跨域众观千象
XMLHttpRequest cannot load http://v.xxx.com. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:63342' is therefore not allowed access. test.html:1
- mysql 分区查询优化
annan211
java分区优化mysql
分区查询优化
引入分区可以给查询带来一定的优势,但同时也会引入一些bug.
分区最大的优点就是优化器可以根据分区函数来过滤掉一些分区,通过分区过滤可以让查询扫描更少的数据。
所以,对于访问分区表来说,很重要的一点是要在where 条件中带入分区,让优化器过滤掉无需访问的分区。
可以通过查看explain执行计划,是否携带 partitions
- MYSQL存储过程中使用游标
chicony
Mysql存储过程
DELIMITER $$
DROP PROCEDURE IF EXISTS getUserInfo $$
CREATE PROCEDURE getUserInfo(in date_day datetime)-- -- 实例-- 存储过程名为:getUserInfo-- 参数为:date_day日期格式:2008-03-08-- BEGINdecla
- mysql 和 sqlite 区别
Array_06
sqlite
转载:
http://www.cnblogs.com/ygm900/p/3460663.html
mysql 和 sqlite 区别
SQLITE是单机数据库。功能简约,小型化,追求最大磁盘效率
MYSQL是完善的服务器数据库。功能全面,综合化,追求最大并发效率
MYSQL、Sybase、Oracle等这些都是试用于服务器数据量大功能多需要安装,例如网站访问量比较大的。而sq
- pinyin4j使用
oloz
pinyin4j
首先需要pinyin4j的jar包支持;jar包已上传至附件内
方法一:把汉字转换为拼音;例如:编程转换后则为biancheng
/**
* 将汉字转换为全拼
* @param src 你的需要转换的汉字
* @param isUPPERCASE 是否转换为大写的拼音; true:转换为大写;fal
- 微博发送私信
随意而生
微博
在前面文章中说了如和获取登陆时候所需要的cookie,现在只要拿到最后登陆所需要的cookie,然后抓包分析一下微博私信发送界面
http://weibo.com/message/history?uid=****&name=****
可以发现其发送提交的Post请求和其中的数据,
让后用程序模拟发送POST请求中的数据,带着cookie发送到私信的接入口,就可以实现发私信的功能了。
- jsp
香水浓
jsp
JSP初始化
容器载入JSP文件后,它会在为请求提供任何服务前调用jspInit()方法。如果您需要执行自定义的JSP初始化任务,复写jspInit()方法就行了
JSP执行
这一阶段描述了JSP生命周期中一切与请求相关的交互行为,直到被销毁。
当JSP网页完成初始化后
- 在 Windows 上安装 SVN Subversion 服务端
AdyZhang
SVN
在 Windows 上安装 SVN Subversion 服务端2009-09-16高宏伟哈尔滨市道里区通达街291号
最佳阅读效果请访问原地址:http://blog.donews.com/dukejoe/archive/2009/09/16/1560917.aspx
现在的Subversion已经足够稳定,而且已经进入了它的黄金时段。我们看到大量的项目都在使
- android开发中如何使用 alertDialog从listView中删除数据?
aijuans
android
我现在使用listView展示了很多的配置信息,我现在想在点击其中一条的时候填出 alertDialog,点击确认后就删除该条数据,( ArrayAdapter ,ArrayList,listView 全部删除),我知道在 下面的onItemLongClick 方法中 参数 arg2 是选中的序号,但是我不知道如何继续处理下去 1 2 3
- jdk-6u26-linux-x64.bin 安装
baalwolf
linux
1.上传安装文件(jdk-6u26-linux-x64.bin)
2.修改权限
[root@localhost ~]# ls -l /usr/local/jdk-6u26-linux-x64.bin
3.执行安装文件
[root@localhost ~]# cd /usr/local
[root@localhost local]# ./jdk-6u26-linux-x64.bin&nbs
- MongoDB经典面试题集锦
BigBird2012
mongodb
1.什么是NoSQL数据库?NoSQL和RDBMS有什么区别?在哪些情况下使用和不使用NoSQL数据库?
NoSQL是非关系型数据库,NoSQL = Not Only SQL。
关系型数据库采用的结构化的数据,NoSQL采用的是键值对的方式存储数据。
在处理非结构化/半结构化的大数据时;在水平方向上进行扩展时;随时应对动态增加的数据项时可以优先考虑使用NoSQL数据库。
在考虑数据库的成熟
- JavaScript异步编程Promise模式的6个特性
bijian1013
JavaScriptPromise
Promise是一个非常有价值的构造器,能够帮助你避免使用镶套匿名方法,而使用更具有可读性的方式组装异步代码。这里我们将介绍6个最简单的特性。
在我们开始正式介绍之前,我们想看看Javascript Promise的样子:
var p = new Promise(function(r
- [Zookeeper学习笔记之八]Zookeeper源代码分析之Zookeeper.ZKWatchManager
bit1129
zookeeper
ClientWatchManager接口
//接口的唯一方法materialize用于确定那些Watcher需要被通知
//确定Watcher需要三方面的因素1.事件状态 2.事件类型 3.znode的path
public interface ClientWatchManager {
/**
* Return a set of watchers that should
- 【Scala十五】Scala核心九:隐式转换之二
bit1129
scala
隐式转换存在的必要性,
在Java Swing中,按钮点击事件的处理,转换为Scala的的写法如下:
val button = new JButton
button.addActionListener(
new ActionListener {
def actionPerformed(event: ActionEvent) {
- Android JSON数据的解析与封装小Demo
ronin47
转自:http://www.open-open.com/lib/view/open1420529336406.html
package com.example.jsondemo;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
impor
- [设计]字体创意设计方法谈
brotherlamp
UIui自学ui视频ui教程ui资料
从古至今,文字在我们的生活中是必不可少的事物,我们不能想象没有文字的世界将会是怎样。在平面设计中,UI设计师在文字上所花的心思和功夫最多,因为文字能直观地表达UI设计师所的意念。在文字上的创造设计,直接反映出平面作品的主题。
如设计一幅戴尔笔记本电脑的广告海报,假设海报上没有出现“戴尔”两个文字,即使放上所有戴尔笔记本电脑的图片都不能让人们得知这些电脑是什么品牌。只要写上“戴尔笔
- 单调队列-用一个长度为k的窗在整数数列上移动,求窗里面所包含的数的最大值
bylijinnan
java算法面试题
import java.util.LinkedList;
/*
单调队列 滑动窗口
单调队列是这样的一个队列:队列里面的元素是有序的,是递增或者递减
题目:给定一个长度为N的整数数列a(i),i=0,1,...,N-1和窗长度k.
要求:f(i) = max{a(i-k+1),a(i-k+2),..., a(i)},i = 0,1,...,N-1
问题的另一种描述就
- struts2处理一个form多个submit
chiangfai
struts2
web应用中,为完成不同工作,一个jsp的form标签可能有多个submit。如下代码:
<s:form action="submit" method="post" namespace="/my">
<s:textfield name="msg" label="叙述:">
- shell查找上个月,陷阱及野路子
chenchao051
shell
date -d "-1 month" +%F
以上这段代码,假如在2012/10/31执行,结果并不会出现你预计的9月份,而是会出现八月份,原因是10月份有31天,9月份30天,所以-1 month在10月份看来要减去31天,所以直接到了8月31日这天,这不靠谱。
野路子解决:假设当天日期大于15号
- mysql导出数据中文乱码问题
daizj
mysql中文乱码导数据
解决mysql导入导出数据乱码问题方法:
1、进入mysql,通过如下命令查看数据库编码方式:
mysql> show variables like 'character_set_%';
+--------------------------+----------------------------------------+
| Variable_name&nbs
- SAE部署Smarty出现:Uncaught exception 'SmartyException' with message 'unable to write
dcj3sjt126com
PHPsmartysae
对于SAE出现的问题:Uncaught exception 'SmartyException' with message 'unable to write file...。
官方给出了详细的FAQ:http://sae.sina.com.cn/?m=faqs&catId=11#show_213
解决方案为:
01
$path
- 《教父》系列台词
dcj3sjt126com
Your love is also your weak point.
你的所爱同时也是你的弱点。
If anything in this life is certain, if history has taught us anything, it is
that you can kill anyone.
不顾家的人永远不可能成为一个真正的男人。 &
- mongodb安装与使用
dyy_gusi
mongo
一.MongoDB安装和启动,widndows和linux基本相同
1.下载数据库,
linux:mongodb-linux-x86_64-ubuntu1404-3.0.3.tgz
2.解压文件,并且放置到合适的位置
tar -vxf mongodb-linux-x86_64-ubun
- Git排除目录
geeksun
git
在Git的版本控制中,可能有些文件是不需要加入控制的,那我们在提交代码时就需要忽略这些文件,下面讲讲应该怎么给Git配置一些忽略规则。
有三种方法可以忽略掉这些文件,这三种方法都能达到目的,只不过适用情景不一样。
1. 针对单一工程排除文件
这种方式会让这个工程的所有修改者在克隆代码的同时,也能克隆到过滤规则,而不用自己再写一份,这就能保证所有修改者应用的都是同一
- Ubuntu 创建开机自启动脚本的方法
hongtoushizi
ubuntu
转载自: http://rongjih.blog.163.com/blog/static/33574461201111504843245/
Ubuntu 创建开机自启动脚本的步骤如下:
1) 将你的启动脚本复制到 /etc/init.d目录下 以下假设你的脚本文件名为 test。
2) 设置脚本文件的权限 $ sudo chmod 755
- 第八章 流量复制/AB测试/协程
jinnianshilongnian
nginxluacoroutine
流量复制
在实际开发中经常涉及到项目的升级,而该升级不能简单的上线就完事了,需要验证该升级是否兼容老的上线,因此可能需要并行运行两个项目一段时间进行数据比对和校验,待没问题后再进行上线。这其实就需要进行流量复制,把流量复制到其他服务器上,一种方式是使用如tcpcopy引流;另外我们还可以使用nginx的HttpLuaModule模块中的ngx.location.capture_multi进行并发
- 电商系统商品表设计
lkl
DROP TABLE IF EXISTS `category`; -- 类目表
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `category` (
`id` int(11) NOT NUL
- 修改phpMyAdmin导入SQL文件的大小限制
pda158
sqlmysql
用phpMyAdmin导入mysql数据库时,我的10M的
数据库不能导入,提示mysql数据库最大只能导入2M。
phpMyAdmin数据库导入出错: You probably tried to upload too large file. Please refer to documentation for ways to workaround this limit.
- Tomcat性能调优方案
Sobfist
apachejvmtomcat应用服务器
一、操作系统调优
对于操作系统优化来说,是尽可能的增大可使用的内存容量、提高CPU的频率,保证文件系统的读写速率等。经过压力测试验证,在并发连接很多的情况下,CPU的处理能力越强,系统运行速度越快。。
【适用场景】 任何项目。
二、Java虚拟机调优
应该选择SUN的JVM,在满足项目需要的前提下,尽量选用版本较高的JVM,一般来说高版本产品在速度和效率上比低版本会有改进。
J
- SQLServer学习笔记
vipbooks
数据结构xml
1、create database school 创建数据库school
2、drop database school 删除数据库school
3、use school 连接到school数据库,使其成为当前数据库
4、create table class(classID int primary key identity not null)
创建一个名为class的表,其有一