精华内容
下载资源
问答
  • MySQL利用现有的数据表创建

    千次阅读 2019-11-26 15:25:08
    MySQL使用create table可以创建数据表,该命令通过为指定字段并设置字段的数据类型,也可以设置主键、外键、unique约束、索引、默认值、自增等特性。 使用create table命令除了可以通过定义字段名创建一张新,还...

    MySQL利用现有的数据表创建新表

    MySQL使用create table可以创建数据表,该命令通过为表指定字段并设置字段的数据类型,也可以设置主键、外键、unique约束、索引、默认值、自增等特性。

    使用create table命令除了可以通过定义字段名创建一张新表,还可以在已有表的基础上创建新表。比如已经创建了emp(员工)表,并输入了数据。

    create table emp(
        emp_id int primary key auto_increment comment '员工号',
        emp_name char(20) not null default '' comment '员工姓名',
        gender char(2) not null default '男' comment '性别',
        birth datetime not null default '1990-1-1' comment '出生日期',
        salary decimal(10,2) not null default 0 comment '工资',
        address varchar(200) not null default '' comment '通讯地址',
        dept_name char(20) comment '部门'
    );
    
    insert into emp(emp_name,gender,birth,salary,address,dept_name) 
    values('张晓红','女','1980-1-23',5800,'河南省郑州市中原路10号','销售部'),
    ('张静静','女','1987-10-3',5400,'河南省新乡市平原路38号','销售部'),
    ('王云飞','男','1992-11-15',5600,'河南省新乡市人民路28号','销售部'),
    ('王鹏飞','男','1987-10-1',6800,'河南省新乡市东明大道12号','销售部'),
    ('王大鹏','男','1989-2-11',5900,'河南省郑州市东风路15号','生产制造部'),
    ('王萌萌','女','1986-12-30',5000,'河南省开封市五一路14号','生产制造部'),
    ('王大光','男','1988-11-8',6200,'河南省开封市八一路124号','生产制造部'),
    ('王小明','男','1998-1-3',4800,'河南省驻马店市雪松路128号','生产制造部'),
    ('王娜娜','女','1994-3-5',5200,'河南省驻马店市车站路2号','生产制造部'),
    ('刘云飞','男','1992-8-13',6800,'河南省南阳市民生路255号','人事部'),
    ('张陆军','男','1991-9-6',6200,'河南省南阳市张仲景路14号','人事部');
    

    一、根据emp表结构创建新表

    命令如下:

    create table new_tablename like old_tablename;
    
    create table employee like emp;
    

    查看结果:

    mysql> select * from employee;
    Empty set (0.00 sec)
    
    mysql> desc emp;
    +-----------+---------------+------+-----+---------------------+----------------+
    | Field     | Type          | Null | Key | Default             | Extra          |
    +-----------+---------------+------+-----+---------------------+----------------+
    | emp_id    | int(11)       | NO   | PRI | NULL                | auto_increment |
    | emp_name  | char(20)      | NO   |     |                     |                |
    | gender    | char(2)       | NO   |     | 男                  |                |
    | birth     | datetime      | NO   |     | 1990-01-01 00:00:00 |                |
    | salary    | decimal(10,2) | NO   |     | 0.00                |                |
    | address   | varchar(200)  | NO   |     |                     |                |
    | dept_name | char(20)      | YES  |     | NULL                |                |
    +-----------+---------------+------+-----+---------------------+----------------+
    7 rows in set (0.00 sec)
    
    mysql> desc employee;
    +-----------+---------------+------+-----+---------------------+----------------+
    | Field     | Type          | Null | Key | Default             | Extra          |
    +-----------+---------------+------+-----+---------------------+----------------+
    | emp_id    | int(11)       | NO   | PRI | NULL                | auto_increment |
    | emp_name  | char(20)      | NO   |     |                     |                |
    | gender    | char(2)       | NO   |     | 男                  |                |
    | birth     | datetime      | NO   |     | 1990-01-01 00:00:00 |                |
    | salary    | decimal(10,2) | NO   |     | 0.00                |                |
    | address   | varchar(200)  | NO   |     |                     |                |
    | dept_name | char(20)      | YES  |     | NULL                |                |
    +-----------+---------------+------+-----+---------------------+----------------+
    7 rows in set (0.00 sec)
    

    利用select命令可以看到,employee表为空表;利用desc命令可以看到,employee表结构和emp表完全相同。

    二、根据另一个表的查询结果创建新表

    命令如下:

    create table table_name select statement;
    

    举例:

    mysql> create table emp1 select emp_id,emp_name,salary,address from emp;
    Query OK, 11 rows affected (0.02 sec)
    Records: 11  Duplicates: 0  Warnings: 0
    
    mysql> desc emp1;
    +----------+---------------+------+-----+---------+-------+
    | Field    | Type          | Null | Key | Default | Extra |
    +----------+---------------+------+-----+---------+-------+
    | emp_id   | int(11)       | NO   |     | 0       |       |
    | emp_name | char(20)      | NO   |     |         |       |
    | salary   | decimal(10,2) | NO   |     | 0.00    |       |
    | address  | varchar(200)  | NO   |     |         |       |
    +----------+---------------+------+-----+---------+-------+
    4 rows in set (0.00 sec)
    
    mysql> select * from emp1;
    +--------+-----------+---------+--------------------------------------+
    | emp_id | emp_name  | salary  | address                              |
    +--------+-----------+---------+--------------------------------------+
    |      1 | 张晓红    | 5800.00 | 河南省郑州市中原路10号               |
    |      2 | 张静静    | 5400.00 | 河南省新乡市平原路38号               |
    |      3 | 王云飞    | 5600.00 | 河南省新乡市人民路28号               |
    |      4 | 王鹏飞    | 6800.00 | 河南省新乡市东明大道12号             |
    |      5 | 王大鹏    | 5900.00 | 河南省郑州市东风路15号               |
    |      6 | 王萌萌    | 5000.00 | 河南省开封市五一路14号               |
    |      7 | 王大光    | 6200.00 | 河南省开封市八一路124号              |
    |      8 | 王小明    | 4800.00 | 河南省驻马店市雪松路128号            |
    |      9 | 王娜娜    | 5200.00 | 河南省驻马店市车站路2号              |
    |     10 | 刘云飞    | 6800.00 | 河南省南阳市民生路255号              |
    |     11 | 张陆军    | 6200.00 | 河南省南阳市张仲景路14号             |
    +--------+-----------+---------+--------------------------------------+
    11 rows in set (0.00 sec)
    

    利用select命令可以看到,emp1表包含了emp表的数据。

    展开全文
  • c# -- 创建数据表

    千次阅读 2017-04-19 16:40:22
    https://technet.microsoft.com/zh-cn/library/ms187752(v=sql.110).aspx创建数据表这时数据已经建好,但没有数据手动输入几条测试返回脚本页查询批处理语句:GO是批处理的标志,表示SQL server将这些SQL语句编译为...

    建表的语法

    这里写图片描述


    SQLServer数据类型
    https://technet.microsoft.com/zh-cn/library/ms187752(v=sql.110).aspx


    创建数据表

    这里写图片描述

    这时数据表已经建好,但没有数据手动输入几条测试

    这里写图片描述

    这里写图片描述

    返回脚本页查询

    这里写图片描述


    批处理语句:

    批处理语句

    GO是批处理的标志,表示SQL server将这些SQL语句编译为一个执行单元,提高执行效率。

    一般是将一些逻辑相关的业务语句放在同一批中,这完全由业务需求和代码编写者决定

    GO是SQLserver的批处理命令,只有代码编辑器才能识别并处理,编辑其它应用程序就不能使用该命令。

    由于每个批处理之间是独立的,因此,在一个批处理出现错误时,并不会影响其它批处理中SQL代码的运行。


    创建成绩表、学员管理表、班级表 ….系统所需表示例:

    use StudentManageDB
    go
    if exists(select * from sysobjects where name = 'Students')
    drop table Students
    go
    --创建学员信息数据表
    create table Students
    (
        StudentId int identity(10000,1),--学号
        StudentName varchar(20) not null,--姓名
        Gender char(2) not null,--性别
        Birthday datetime not null,--出生日期
        StudentIdNo numeric(18,0) not null,--身份证号
        Age int not null,--年龄
        PhoneNumber varchar(50),
        StudentAddress varchar(500),
        ClassId int not null --班级外键
    )
    go
    
    --创建班级表
    if exists(select * from sysobjects where name='StudentClass')
    drop table StudentClass
    go
    
    create table StudentClass
    (
        classId int primary key,--班级编号
        ClassName varchar(20) not null
    
    )
    go
    
    --创建成绩表
    if exists(select * from sysobjects where name='ScoreList')
    drop table ScoreList
    go
    create table ScoreList
    (
        Id int identity(1,1)primary key,
        StudentId int not null,--学号外键
        CSharp int null,
        SQLServer int null,
        UpdateTime datetime not null --更新时间
    
    )
    go
    
    --创建管理员表
    if exists(select * from sysobjects where name='Admins')
    drop table Admins
    go
    create table Admins
    (
        LoignId int identity(1000,1)primary key,
        LoignPwd varchar(20)not null,--登录密码
        AdminName varchar(20) not null
    )
    go
    
    
    --查询数据表
    select * from Students

    这里写图片描述

    展开全文
  • /*初始化两张,测试添加约束语句*/use E_Marketgo--创建部门if exists(select * from sysobjects where name = 'department')drop table departmentcreate table department --部门( DepartmentId char(5) not...
    /*初始化两张表,测试添加约束语句*/
    use E_Market
    go
    
    --创建部门表
    if exists(select * from sysobjects where name = 'department')
    drop table department
    create table department --部门表
    (
    	DepartmentId char(5) not null primary key,
    	DeparmentName varchar(20)
    )
    --创建员工表
    if exists(select * from sysobjects where name = 'employee')
    drop table employee
    create table employee   --员工表
    (
    	Id char(18) not null,   --身份证号
    	JobId char(6) not null, --员工编号
    	Name varchar(20) not null,  --姓名
    	Sex char(2) null,   --性别
    	Birthday datetime null, --出生日期
    	Salary Money not null,  --工资
    	DepartmentId char(5) null   --部门编号
    )
    /*
    对员工表要求:
    	id的值是唯一,作为  (主键)
    	jobid的值也是唯一的,作为为一键  (唯一键)
    	sex取值只能为男或女     (检查约束)
    	birthday要求必须年满18        (检查约束)
    	salary默认值为3000      (默认约束)
    	department值必须在department表中存在departmentid(外键)
    */
    
    /*添加主键约束*/
    alter table employee
    add constraint PK_id primary key(Id)
    
    /*添加唯一约束*/
    alter table employee
    add constraint UQ_jobid unique(Jobid)
    
    /*添加检查约束*/
    alter table employee
     add constraint CK_sex check(sex in('男','女'))
    
    /*添加检查约束*/
    alter table employee
    add constraint CK_birthday check (year(GETDATE())-year(birthday)>=18)   --表示当前时间减去出生日期时间大于18岁
    
    /*添加默认约束*/
    alter table employee
    add constraint DF_salray default 3000 for salary
    
    /*添加外键约束*/
    alter table employee
    add constraint FK_departmentid foreign key (departmentid) references department(departmentid)
    
    /*删除约束*/
    alter table employee
    drop constraint ck_sex   --删除CK_sex约束
    


    展开全文
  • 创建数据表: 格式如下: create table [if not exists] `表名`( '字段名1' 列类型 [属性][索引][注释], '字段名2' 列类型 [属性][索引][注释], #... '字段名n' 列类型 [属性][索引][注释] )[类型][字符集]...

    创建数据表:

    格式如下:

    create table [if not exists] `表名`(
        '字段名1' 列类型 [属性][索引][注释],
        '字段名2' 列类型 [属性][索引][注释],
        #...
        '字段名n' 列类型 [属性][索引][注释]
    )[表类型][表字符集][注释];
    

    说明 : 反引号用于区别MySQL保留字与普通字符而引入的 (键盘esc下面的键).

    数据值和列类型

    列类型 : 规定数据库中该列存放的数据类型

    数值类型
    在这里插入图片描述
    字符串类型
    在这里插入图片描述
    日期和时间型数值类型
    在这里插入图片描述
    NULL值

    理解为"没有值"或"未知值"
    不要用NULL进行算术运算 , 结果仍为NULL

    数据字段属性

    UnSigned :

    无符号的
    声明该数据列不允许负数 .

    ZEROFILL :

    0填充的
    不足位数的用0来填充 , 如int(3),5则为005

    Auto_InCrement :

    自动增长的 , 每添加一条数据 , 自动在上一个记录数上加 1(默认)
    通常用于设置主键 , 且为整数类型

    可定义起始值和步长

    当前表设置步长(AUTO_INCREMENT=100) : 只影响当前表
    SET @@auto_increment_increment=5 ; 影响所有使用自增的表(全局)

    NULL 和 NOT NULL :

    默认为NULL , 即没有插入该列的数值
    如果设置为NOT NULL , 则该列必须有值

    DEFAULT :

    默认的
    用于设置默认值
    例如,性别字段,默认为"男" , 否则为 “女” ; 若无指定该列的值 , 则默认值为"男"的值

    在数据库下创建一个新的table

    -- 目标:创建一个school数据库
    -- 创建学生表(列,字段) 使用 SQL 创建
    -- 学号int,登陆密码varchar(20),姓名,性别 varchar(2),出生日期(datatime),家庭住址,email
    
    -- 注意点,使用英文(),表的名称,字段尽量用`  `括起来。
    -- 字符串使用单引号括起来
    -- 所有的语句后面加,(英文的),最后一个不用加
    -- PRIMARY KEY 主键(一般唯一)
    CREATE TABLE IF NOT EXISTS `Student2`(
    `id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
    `name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT'姓名',
    `pwd` VARCHAR(20) NOT NULL DEFAULT'123456' COMMENT'密码' ,
    `sex` VARCHAR(2) NOT NULL DEFAULT '男'COMMENT'性别',
    `birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
    `address`VARCHAR (100)DEFAULT NULL COMMENT '家庭住址',
    `email`VARCHAR(50)DEFAULT NULL COMMENT '邮箱',
    -- 添加主键操作
    PRIMARY KEY (`id`)
    )ENGINE=INNODB DEFAULT CHARSET = utf8;
    
    # 查看数据库的定义
    SHOW CREATE DATABASE school;
    # 查看数据表的定义
    SHOW CREATE TABLE student;
    # 显示表结构
    DESC student;
    # 设置严格检查模式(不能容错了)
    SET sql_mode='STRICT_TRANS_TABLES';
    

    结果:
    在这里插入图片描述
    感受:MySQL的错误很难检车,符号一定要用英文的。

    展开全文
  • 数据表创建与修改管理实验

    千次阅读 多人点赞 2020-05-05 13:45:38
    数据表创建与修改管理实验 实 验 目 的 (1) 掌握的基础知识。 (2) 掌握使用Navicat或其他第三方管理工具和SQL语句创建表的方法。 (3) 掌握的修改、查看、删除等基本操作方法。 (4) 掌握中完整性约束的定义。...
  • 创建一个数据表的sql语句 库名:超级数据库 表名:超级1 列名:编号(主键),姓名(唯一性约束),年龄,证件号(非空)出生日期, 工资 类型:varchar(10) varchar(5) int varchar(20) datetime money */ ...
  • 1.在自己创建的用户方案下用sql语句创建表student,存放在users空间中,用sql语句添加如下记录;   01  要求的约束条件有: 02  主键是学号;入学日期必须大于出生日期;...
  • 本文分两部分,第一部分为Mysql 参考手册列举的日期、时间函数说明...第二部分为根据项目实践谈谈常用的Mysql日期、时间函数使用案例,如:查询条件开始--截止日期,根据出生日期计算年龄,根据当前时间戳自动更新等。
  • mysql实验二、数据表创建和管理

    千次阅读 2018-06-28 14:27:14
    实验目的:1、掌握的基本知识2、掌握使用第三方管理工具和SQL语句创建表3、掌握创建、查看、删除等基本操作4、掌握数据插入、修改、删除等基本操作实验内容:1、定义:在school数据库中创建一个teacher...
  • 根据以往的项目经验,本文总结并汇总了一些Mysql日期处理Hack。...1、根据出生日期计算年龄 2、查询某个时间段内的订单列表 3、判断起始日期是否在某个有效时间段内 4、计算用户每个月的登录天数
  • (一)数据库的创建 1)数据库分类 系统数据库和用户数据库;通过查看对象资源管理器来区分数据库类型; 注意:master数据库不要动,这个是数据库的数据库;我们主要学习用户数据库...创建一个主数据文件和一个日...
  • 创建数据库/,向中插入数据 如果数据库不存在则创建,存在则不创建(if not exists),也可以省略不会报错。 创建testdate数据库,并设定编码集为utf8 #创建数据库testdate; create database if not exists test...
  • MySQL数据库教程之六:实验一 创建数据库和、插入数据 一、实验目的: 1、了解数据库的创建,查看的结构及一些基本概念 2、掌握MySQL的基本数据类型 3、掌握使用命令创建数据库及 4、会用命令方式插入...
  • R语言处理日期数据

    千次阅读 2018-01-28 22:51:48
    《R语言实战》学习笔记 —— 基本数据管理之日期值 1. 创建日期型变量 日期型通常以字符串形式输入到R中,然后转化为以数值形式存储的日期变量。日期具有一定的格式,见下1 日期格式 符号 ...
  • oracle的的管理 表名和列的命名规则必须以字母开头 长度不能超过30个字符 不能使用oracle的保留字 只能使用如下字符 A-Z,a-z,0-9,$,#等 oracle支持的数据类型 字符类 char 定长 最大2000个字符。 例子:char...
  • Access创建表/新建

    千次阅读 2019-02-14 20:36:22
    这里我们不会去讲太深,像的结构,什么E-R图啊,关系啊,吧啦吧啦之类的,这里我们只讲创建表,相信很多接触Access的人都不是专业的开发人员,讲的太专业,大家看起来也累。这里我直接用Access2016的截...
  • 数据库、数据表建立索引的原则 数据库建立索引的原则 1,确定针对该的操作是大量的查询操作还是大量的增删改操作。 2,尝试建立索引来帮助特定的查询。检查自己的sql语句,为那些频繁在where子句中出现的字段...
  • 1) 依据数据表的结构创建相对应的数据表结构如下所示; 学生信息(student)                      ...
  • 数据库实验-创建创建学生

    千次阅读 2020-04-29 10:41:49
    (1)在空间TableSpace_XXX下创建学生(student)、学生选课表(SC)、课程(course) 学生:Student_XXX,属性为:(Sno 学号, Sname 姓名, Ssex 性别, Sdept 所在院系),其中学号Sno主码,其中sno为...
  • Oracle中创建时间维度并插入数据

    千次阅读 2014-09-26 13:30:01
     /*SP_CREATE_TIME_DIMENSION: 生成时间维数据  begin_date: 起始时间  end_date:结束时间  */ dDate date; v_the_date number; v_the_year varchar2(4); v_the_quarter varchar2(2); v_the_...
  • SQL语句创建(数据库|数据表|索引)

    千次阅读 2009-09-26 18:50:00
    CREATE Table ([] 类型 (长度) [缺省值][列级约束] [, 数据类型[缺省值][列级约束]]…. [,UNIQUE(列名[,列名]….)] [,PRIMARY KEY(列名[,列名]…)] [,FOREIGN KEY (列名[,列名]…) REFERENCES ...
  • oracle支持的数据类型 字符类 char 定长 最大2000个字符。 例子:char(10) ‘小韩’前四个字符放‘小韩’,后添6个空格补全 如‘小韩 ’ varchar2(20) 变长 最大4000个字符。 ...
  • 创建表、约束、修改复制--复制 CREATE TABLE MYEMP AS SELECT * FROM EMP;insert操作--insert操作 语法:insert into 表名(字段1,字段2....) values (值1,值2....) INSERT INTO MYEMP (empno,ename,job,mgr,...
  • – (3)性别 varchar(2),出生日期datatime 家庭住址 address 邮件地址email 2. 注意 – 2.注意: – (1)的名称 和 字段尽量使用`` (漂)括起来 – (2) 字符串使用单引号或者双引号括起来,建议单引号 3. 基本...
  • &... 添加出生日期字段,数据类型为DATE类型。 e. 修改number字段为id,类型改为BIGINT类型。1 person结构序号字段名称字段说明数据类型长度属性备注1number序号INT4自增列主键2name姓...
  • 实现了一个小程序,实现根据出生日期计算年龄 ** 这里没有考虑如果出生年为闰年,或者当前年为闰年时出生日期为二月的情况 如果需要考虑,那么计算前加入一个闰年判断,并且根据是否闰年在计算时调用不同的nonthday...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,614
精华内容 8,645
关键字:

创建数据表的出生日期