MYSQL可重复执行脚本添加索引,字段

MYSQL可重复执行脚本添加索引,字段,第1张

添加字段

drop procedure if exists add_column_if;

delimiter $$

create procedure add_column_if()

begin

declare

iCnt int;

select count() into iCnt from information_schemacolumns

where table_schema=(select database())

and table_schema='BONDCONTRACE_TEST'

andcolumn_name='AAA';

if (iCnt=0) then

alter table bondcontrac_test add  AAA varchar(10) default null;

end if;

end;

call add_column_if;

drop procedeure add_column_if; $$

delimiter;

加索引

drop  procedure if exits add_index_id;

delimiter $$

create procedure add_index()

begin

declare iCint int;

select count() from information_schemastatistcs

where table_schema=''

and table_name=''

and index_name=''

and column_name in ('','')

if (iCint=0) then

alter table tablename add key index_name('','');

end if;

end'

call add_index_if;

drop procedure add_index_if;$$

delimiter;

如建立了个表是 WoolenDeliveDetail,更新表的存储过程是UP_WoolenDeliveDetailCREATE PROCEDURE UP_WoolenDeliveDetail @INTUpdateID INT,--为-1 删除0 修改1新增 @INTDeDetailID INT, @INTDeID INT, @INTColorID INT, @NVD1 NVARCHAR(20), @NVD2 NVARCHAR(20), @NVD3 NVARCHAR(20), @NVD4 NVARCHAR(20), @NVD5 NVARCHAR(20), @NVD6 NVARCHAR(20), @NVD7 NVARCHAR(20), @NVD8 NVARCHAR(20), @NVD9 NVARCHAR(20), @NVD10 NVARCHAR(20) AS IF (@INTUpdateID=0) Begin UPDATE

用insert语句: INSERT INTO table1(id, name, address) VALUES(1, ygl, 'beijing'),该语句主要适用于sql和PL/SQL。

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展而发展。目前,数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。

结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

1)定义:MySQL数据库管理系统中提供了一个自增数字auto_increment,专门用于自动生成主键值,

主键值不需要用户去维护,也不需要用户生成,MySQL会自动生成。自增数字默认从1开始,以1的倍数递增:1、2、3、4……

2)当设定某一字段为自动主键的时候,该主键在插入的时候不需要添加值,数据库管理系统会默认从1开始添加主键,每插入一条数据

系统自动设定主键,当删除某一条记录的时候,该条记录的主键不会再次使用,而是继续最大主键值之后生成新的主键。

添加有自增的字段必须要求非空且唯一,插入NULL肯定是不可以的。

创建数据库的SQL语句:

create database stuDB

on primary -- 默认就属于primary文件组,可省略

(

/--数据文件的具体描述--/

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

filename='D:\stuDB_datamdf', -- 主数据文件的物理名称

size=5mb, --主数据文件的初始大小

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

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

)

log on

(

/--日志文件的具体描述,各参数含义同上--/

name='stuDB_log',

filename='D:\stuDB_logldf',

size=2mb,

filegrowth=1mb

)

删除这个数据库,SQL Server将数据库的清单存放在master系统数据库的sysdatabases表中,只需要查看该表是否存在于该数据库中就可以

了,语句如下:

use master -- 设置当前数据库为master,以便访问sysdatabases表

go

if exists(select from sysdatabases where name='stuDB')

drop database stuDB

go

创建表和删除表的SQL语句如下:

use StuDB

go

if exists(select from sysobjects where name='stuMarks')

drop table stuMarks

create table stuMarks

(

ExamNo int identity(1,1) primary key,

stuNo char(6) not null,

writtenExam int not null,

LabExam int not null

)

go

-- 其中,列属性"identity(起始值,递增量)" 表示"ExamNo"列为自动编号, 也称为标识列

alter table 表名

add constraint 约束名 约束类型 具体的约束说明

alter table 表名

drop constraint 约束名

alter table stuMarks

add constraint UQ_stuNo Unique(stuNo)

alter table stuMarks

drop constraint UQ_stuNo

/--添加SQL登录账户--/

exec sp_addlogin 'xie', '123456' -- 账户名为xie,密码为123456

--删除xie账户名

exec sp_droplogin 'xie'

/--在stuDB数据库中添加两个用户(必须存在)--/

use stuDB

go

exec sp_grantdbaccess 'xie','123456'

go

-- 提示:SQL Server 中的dbo用户是具有在数据库中执行所有活动权限的用户,表示数据库的所有者(owner),一般来说,

-- 如果创建了某个数据库,就是该数据库的所有者,即dbo用户,dbo用户是一个比较特殊的数据库用户,无法删除,且此用

-- 户始终出现在每个数据库中

/ --给数据库用户授权-- /

-- 授权的语法如下

-- grant 权限 [on 表名] to 数据库用户

use stuDB

go

grant select,update,insert on stuMarks to xie

grant create table to xie

go

a、写sql脚本修改表结构

b、实体bean增加对象

c、mapper中所有涉及查询整个对象字段的sql,都需一一添加对应的新增字段

d、mapper配置中涉及整个对象的查询尽量采用以下方式:

<sql>

Column1,Column2,Column3,

</sql>

<select resultMap="返回结果对象">

SELECT

<include refid="queryColumns" />

FROM

</select>

这样很多类似查询,都是引用queryColumns,到时只需改一个地方即可。

望采纳~

以上就是关于MYSQL可重复执行脚本添加索引,字段全部的内容,包括:MYSQL可重复执行脚本添加索引,字段、求自动生成字段说明sql语句脚本、在数据库里面插入数据的语句怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10165127.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存