sql语句 如何创建一个表啊?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql语句 如何创建一个表啊?相关的知识,希望对你有一定的参考价值。

参考技术A

create table userinfo

(

id int primary key not null identity (1,1),

[name] char(20) unique,

age int check(age>10),

sex char(2)

)

建一个名叫userinfo的表,字段为

id ,自动+1,主键,不为空。

name ,char(20) 不重复。

age int类型,年龄必须大于10,否则会出现错误。

sex 性别 char(2)

扩展资料:

关于SQL语句(建库、建表、修改语句)

--- if exists(select * from sys.sysdatabases where name='ConstructionDB')begin use master drop database ConstructionDB end go create database ConstructionDB on()

if exists(select * from sysobjects where name ='ConstructionDB') --查找命令

drop DATABASE ConstructionDB --删除 命令

Create database ConstructionDB

on(

name='ConstructionDB_date',

filename='E:\\技能抽查试题第二模块(数据库)\\试题——1\\任务一\\ConstructionDB_date.mdf',

size=3mb,

maxsize=10mb,

filegrowth=5% --增长速度为

)

log on(

name='ConstructionDB_log',

filename='E:\\技能抽查试题第二模块(数据库)\\试题——1\\任务一\\ConstructionDB_date.ldf',

size=2mb,

maxsize=5mb,

filegrowth=1mb

)

使用T-SQL语句创建表

use ConstructionDB

go

查询 库中是否存在 此表 存在则删除

if exists(select * from sysobjects where name = 'T_flow_step_def') 

drop table T_flow_step_def

方法二:

IF OBJECT_ID (N'bas_CardType') IS NULL

BEGIN --如果不存在该表,则进行创建

--drop table com_CodeRecord

流程步骤定义表 

create table T_flow_step_def(

Step_no    int not null,     --流程步骤ID 

Step_name    varchar(30)    not null, --流程步骤名称 

Step_des    varchar(64)    not null,    --流程步骤描述

Limit_time    int not null,     --时限

URL     varchar(64)    not null,     --二级菜单链接 

备注    varchar(256)    not null, 

)

流程类别表

create table T_flow_type(

Flow_type_id char(3) not null, --流程类别号 

Flow_type_name    varchar(64)    not null, --流程类别名称 

In_method_id    char(3) not null, --招标方式代号 

In_choice_id    char(3) not null, --项目选项代号 

备注:varchar(256)    not null, 

)

标段情况表:

create table T_sub_project(

Project_id varchar(32)    not null, ---工程编号 

Sub_pro_id char(2) not null, -- 标段编号 

Flow_type_id char(3) not null, --流程类别号 

Sub_pro_name varchar(64)    not null,--标段名称(招标项目名称) 

Usb_no varchar(64)    not null, --密码锁号

In_method_id char(3) not null, --招标方式代号 

In_scope_id char(3) not null, --招标范围代号 

In_choice_id char(3) not null, --项目选项代号 

Proj_type_id char(3) not null, --项目性质代号 

Engi_type_id char(1) not null, --工程性质代号

Pack_type char(1) not null, ---发包方式 

Grade_type_idv char(1) not null,--评分类别号

Flag_done char(1) not null,--完成标志 

Flag_forcebreak char(1) not null,--强制中断标志 

备注    varchar(256)    not null,

)

如何通过 DataGrip 每 100 行创建一个 sql 插入语句

【中文标题】如何通过 DataGrip 每 100 行创建一个 sql 插入语句【英文标题】:How to make one sql insert statement every 100 rows by DataGrip 【发布时间】:2018-11-05 05:15:23 【问题描述】:

升级到 Mojave 后,Sequel Pro 开始崩溃。 我将使用 DataGrip 作为主要的数据库工具。但是我有一个问题没有找到解决办法: Datagrip → 转储数据到文件 → SQL Inerts

DataGrip 生成的插入语句如下所示:

INSERT INTO high_school_list (id, name) VALUES (1, 'a');
INSERT INTO high_school_list (id, name) VALUES (2, 'b');
INSERT INTO high_school_list (id, name) VALUES (3, 'c');

这样的sql执行效率很低。 Sequel Pro 生成的插入语句为:

INSERT INTO high_school_list (id, name) VALUES (1, 'a'), (2, 'b'), (3, 'c');

如何设置datagrip生成类似Sequel Pro的Insert Sql格式语句?

【问题讨论】:

【参考方案1】:
    下载此脚本文件:https://gist.github.com/leo-from-spb/ec438f1fe9995b910ad816aabe47dd4f 将其放入脚本文件夹(要找到它,请按提取器下拉菜单中的转到脚本目录)。 使用这个提取器。

【讨论】:

您好,以上步骤我已经完成了。在Data Extractor中选择“SQL - INSERT - STATEMENTS.SQL.Groovy”,然后在右键菜单中再次选择Dump Data → To File,导致SQL文本仍然是INSERT INTO per line。 您需要选择我在图片上显示的 SQL-Inserts-MultiRowSynthax【参考方案2】:

可以在此处找到更好的解决方案,该解决方案允许使用批处理而不是尝试一次插入数百万行:SQL Batch Multi-Line Insert

此解决方案还有许多其他可能有用的配置选项,但主要特点是它通过批量插入而不是一次全部插入来防止锁定表过长时间。

如何在 DataGrip 中安装脚本

    转到“数据提取器”下拉菜单。 (在结果栏中) 选择“转到脚本目录” 创建一个名为“SQL Batch Multi-Line Insert.sql.groovy”的新文件 粘贴并保存脚本 (可选)调整配置变量

【讨论】:

以上是关于sql语句 如何创建一个表啊?的主要内容,如果未能解决你的问题,请参考以下文章

如何创建一个mysql.sql文件存放建表语句和插入测试数据语句

如何在SQL语句中使用FUNCTION

在oracle中如何使用sql语句创建默认约束

在access利用SQL语句中如何创建表?

如何使用 SQL Server 2005 创建基于 SQL 语句集的视图?

在access利用SQL语句中如何创建表?