datetime类型转变凌驾范围的报错,mysql基础知识

二个很基础的插入语句:

一个很基础的插入语句:

Mysql数据库中对表操作sql语句总括

   –创造数据库

  create database school

  –张开数据库

  use school

  –创建表

  create table student

  (

  id int,

  name varchar(20),

  sex char(2),

  age int,

  date datetime,

  info text,

  bak varchar(500)

  )

  –查看表结构

  exec sp_help student

  –修改、添加列(字段)

  alter table student

  add tel varchar(20)

  –删除列(字段)

  alter table student

  drop column bak

  –属性修改

  –修改列名(字段名)

  exec sp_rename ‘student.sex’,’sex2′

  –修改类型

  alter table student

  alter column age char(20)

  –删除表

  drop table student

  ——————————-表(结构):——————————————–

  —-创立表,查看表结构,修改(扩张列、删除列、属性(如姓名、年龄),删除表)

  —数据的完整性:主键约束、唯一约束、检查性约束、暗中同意约束、外键约束

  create table biao

  (

  id int primary key,

  name varchar(20),

  sex char(2) check(sex=’男’ or sex=’女’),

  age int,

  date datetime,

  info text,

  tel char(16) unique,

  bak varchar(500) default ‘作者是学生’

  )

  create table grade

  (

  id int not null,

  name varchar(20),

  sex char(2),

  age int,

  date datetime,

  info text,

  bak varchar(500)

  )

  alter table grade

  add tel char(16)

  —扩大主键

  alter table grade

  add constraint aa primary key(id)

  —增添唯一性约束

  alter table grade

  add constraint bb unique(tel)

  —查看约束

  exec sp_helpconstraint grade

datetime类型转变凌驾范围的报错,mysql基础知识。  —增多检查性约束

  alter table grade

  add constraint sex check(sex=’男’ or sex=’女’)

  —增添私下认可约束

  alter table grade

  add constraint ccc default ‘笔者是好学生’ for bak

  —删除约束

  alter table grade

  drop constraint ccc

  —————————–增多约束的格式——————————————

  —alter table 表名

  —add constraint 约束名(小名(放4取)) 约束关键字

  —-作业题,7.28—–

  create table shop_jb

  (

  id int primary key,

  namel varchar(20),

  spec varchar(20),

  stock int,

  price float,

  datel datetime default ‘2010-7-6’

  )

  create table shop_yw

  (

  ywid int primary key,

  name2 varchar(20),

  sex char(2) check(sex=’男’ or sex=’女’),

  age int,

  tel varchar(18) unique,

  address varchar(20)

  )

  create table shop_xs

  (

  id int not null,

  sale char(20),

  quantity char(20),

  date2 datetime default ‘2010-5-3’,

  ywid int

  foreign key(id) references shop_jb,

  foreign key(ywid) references shop_yw

  )

  例如:

  修改表expert_info中的字段birth,允许其为空

  >alter table expert_info change birth birth varchar(20) null;

  1.充实2个字段(一列)

  alter table table_name add column column_name type default value;
type指该字段的花色,value指该字段的私下认可值

  例如:alter table mybook add column publish_house varchar(10)
default ”;

  二.退换叁个字段名字(也足以退换类型和私下认可值)

  alter table table_name change sorce_col_name dest_col_name type
default value; source_col_name指原来的字段名称,dest_col_name

  指改后的字段名称

  例如:alter table Board_Info change IsMobile IsTelphone int(3)
unsigned default 1;

  三.改成四个字段的默许值

  alter table table_name alter column_name set default value;

  例如:alter table book alter flag set default ‘0’;

  四.改动3个字段的数据类型

  alter table table_name change column column_name column_name
type;

  例如:alter table userinfo change column username username
varchar(20);

  伍.向一个表中扩大一个列做为主键

  alter table table_name add column column_name type auto_increment
PRIMARY KEY;

  例如:alter table book add column id int(10) auto_increment PRIMARY
KEY;

  陆.数据库某表的备份,在命令行中输入:

  mysqldump -u root -p database_name table_name > bak_file_name

  例如:mysqldump -u root -p f_info user_info > user_info.dat

  柒.导出多少

  select_statment into outfile”dest_file”;

  例如:select cooperatecode,createtime from publish limit 10 into
outfile”/home/mzc/temp/tempbad.txt”;

  8.导入数据

  load data infile”file_name” into table table_name;

  例如:load data infile”/home/mzc/temp/tempbad.txt” into table pad;

  玖.将多少个表里的数量拼接后插入到另3个表里。上边包车型客车例子表达将t一表中的com二和t贰表中的com一字段的值拼接后插入到tx表对应的

  字段里。

  例如:insert into tx select t1.com1,concat(t1.com2,t2.com1) from
t1,t2;

  拾,删除字段

  alter table form1 drop column 列名;

  补充三个:

  PHP操作MySQL对表增添1列

  于已经建立好的数据库,在二个早就有字段的表内新加字段可用以下办法:

  mysql_query(“ALTER TABLE `表名` ADD `字段` 字段类型”) or
die(mysql_error());

  举个例子,对表article增添字段keywords

  代码:

 代码如下

 

<?php
$link = mysql_connect($servername,$dbusername,$dbpassword);
if (mysql_select_db($dbname)) {
if ($link) {
echo “connect succeed”;
mysql_query(“ALTER TABLE `article` ADD `keywords` varchar(100) NOT
NULL default ””) or die(mysql_error());
echo “Add succeed”;
} else {
echo “connect failed”;
}
mysql_close($link);
}
?>

–创立数据库
create database school –展开数据库 use school –创设表 create table
student ( id int, name varchar(20), sex…

MySql基础知识总括,mysql基础知识

Mysql概述

MySql是1种关系型数据库

连接到mysql数据库:mysql -u root -p

何以是SQL:结构化的询问语句

SQL分类:

  DDL:数据定义语言

   * create,alter,drop…

  DML:数据垄断语言

    * update,insert,delete

  DCL:数据控制语言

    * grant,if..

  DQL:数据查询语言

    * select

数据库增加和删除查改

创造数据库:语法:create database 数据库 [character 字符集 collate
校对规则]

查看数据库:

  查看全部数据库:show databases;

  查看有些数据库:show create database 数据库名;

修改数据库:语法:alter database 数据库名 character 字符集 collate
核对规则

除去数据库:语法:drop database 数据库名;

切换数据库:use 数据库名;

翻看当前利用数据库:select database();

数码库表操作

开创表语法:

  create table 表名 (

      字段名 类型(长度) 约束,

      字段名 类型(长度) 约束,

      字段名 类型(长度) 约束

  );

数据类型:

 Java类型:             MySQL:

  byte/short/int/long   tinyint/smallint/int/bigint

  String                char/varchar

                            *
差别?char是牢固长度的字符串,varchar可变长度的字符串.

                            * char(8) 和 varchar(8)

                                * 假设插入贰个字符串hello 插入到char
那么 插入hello   .插入到varchar中 插入hello

 float                  float

 double                 double

 boolean            bit

 Date                   date/time/datetime/timestamp

                        *
datetime和timestamp都是既有日期又有时间的日期类型

                            * 差距?
datetime需求动用外部传入的日期.假诺没传这几个值正是Null.
timestamp会采纳系统当下的年月作为这么些值的默许值.

 文本文件                Text

 二级制文件               BLOB

***** Oralce使用CLOB/BLOB

*****
MYSQL中除去字符串类型要求安装长度其余的项目都有暗许长度******

  • 约束:

单表约束:

* 主键约束:primary key (暗中同意正是绝无仅有非空的)

* 唯1约束:unique

* 非空约束:not null

 

  • 开创三个表:
  • ***** 创设表在此以前先选取数据库:use 有个别数据库;

create table employee(

    eid int primary key auto_increment,

    ename varchar(20) not null,

    email varchar(30) unique,

    birthday date,

    job varchar(20),

    resume text

);

【表的查看】

  • 查看数据库中有哪些表:

* show tables;

  • 查看表结构:

* desc 表名;

【表的删减】

  • 表的去除:

 drop table 表名;

【表的改换】

  • 修改表增多列:

* alter table 表名 add 列名 类型(长度) 约束;

    * alter table employee add image varchar(50);

  • 修改表删除列:

* alter table 表名 drop 列名;

    * alter table employee drop job;

  • 修改表的列的档案的次序长度及约束:

* alter table 表名 modify 列名 类型(长度) 约束;

    * alter table employee modify image varchar(80) not null;

  • 修改表的列名

* alter table 表名 change 旧列名 新列名 类型(长度)
约束;

    * alter table employee change image eimage varchar(60);

  • 修改表名

* rename table 旧表名 to 新表名;

    * rename table employee to user;

  • 修改表的字符集:

* alter table 表名character set 字符集;

    * alter table user character set gbk;

insert into table1
select col1,convert(datetime,col2),convert(datetime,col3),col4,col5 from table2
insert into table1
select col1,convert(datetime,col2),convert(datetime,col3),col4,col5 from table2

*******行使SQL操作数据库中的表的笔录(对表的记录的CRUD的操作)******

【插入记录】

  • 语法

* insert into 表名 (列名,列名,…) values (值1,值2,…);    
—插入内定列的值

* insert into 表名 values (值一,值2,…);                   
—插入全数列的值

 

  • 注意事项:

* 列名的个数与值的个数对应.

* 列的门类与值的项目对应.地方也要对应.

* 列的档案的次序假设是字符串或许日期,写值的时候使用单引号将值引起来.

* 安插的值的最大尺寸无法当先列的最大长度.

【修改记录】

  • 语法:

* update 表 set 列名=值,列名=值 [where 条件];

  • 997755.com澳门葡京,注意事项:

* 列名和值类型也要一致.

* 值不可能当先列的最大长度.

* 值是字符串或日期,要求选用单引号.

  • 练习:

* 修改employee表中全体记录的job为WOPRADOKE奥迪Q5

    * update employee set job=’WORKER’;

*
修改employee表将name为aaa的邮箱改为[email protected]

    * update employee set email =
‘[email protected]’
where ename = ‘aaa’;

*
修改employee表将name为bbb的信箱改为[email protected]而且修改job为HHummerH贰

    * update employee set email =
‘[email protected]’
, job=’HR’ where ename=’bbb’;

【删除记录】

  • 语法:

* delete from 表 [where 条件];

  • 注意事项:

* 去除表中的壹行记录,无法去除某列值

* 如若未有标准删除表中的全体列.

  • 练习:

* 删除id为8的记录:

    * delete from employee where eid = 8;

* 除去全数记录:

    * delete from employee;

  • 删除表中的具有记录truncate table 表名  和 delete from
    表  区别?

* 区别:

    * truncate table
删除表的笔录:将整个表删除掉,重新创建一个新的表.truncate属于DDL.

    * delete from 删除表的记录:一条一条进行删除.
delete属于DML。

        * 事务管理
只好效能在DML语句上.纵然再二个专门的工作中利用delete删除全部记录,能够找回.

【基本查询】

  • 查询语句:

* select [distinct] *|列名 from 表 [where 条件];

【条件查询】

  • where语句后边可以加:

条件的基本点字:

= , > , >= , <, <= , <>

like中能够动用占位符: _ 和 %  :下划线匹配三个字符,
%:能够相配大4多少个字符.

【排序查询】

`order by 对数据举行排序.私下认可升序. (asc升序,desc降序)

【聚合函数】

`sum()   求和

`count()  统计

`max()  最大值

`min()  最小值

`avg() 平均数

【分组】

  group by

* 穿插连接

    * select * from A,B;   — 获得的是五个表的笛Carl积.

* 内连接: inner join — inner 能够轻便

    * 显式内接连:select * from A inner join B on 条件;

    * 隐式内一连:select * from A,B where 条件;

* 外连接:outer join — outer 能够省略

    * 左外连接:left outer join  — select * from A left outer join B
on 条件;

    * 右外接连:right outer join — select * from A right outer join B
on 条件;

多表查询的子查询

  • 七个SQL语句询问的长河中供给依附另3个查询语句.

SELECT * FROM customer c,orders o WHERE c.cid = o.cid AND  c.cid IN
(SELECT cid FROM orders WHERE addr LIKE ‘海淀%’);

 

Mysql概述
MySql是一种关系型数据库 连接到mysql数据库:mysql -u root -p
什么是SQL:结构化的查询语句 SQL分类:…

当中table一表中col贰,col三是datetime类型,其余都以varchar类型,table2全部是varchar类型。

里面table一表中col贰,col三是datetime类型,别的都是varchar类型,table二全体是varchar类型。

  table二表中全体是varchar类型,col
一 四 5都有不小恐怕是空值。

  table二表中全部是varchar类型,col
一 肆 伍都有十分大希望是空值。

在执行时报出如下错误:

在实施时报出如下错误:

消息 242,级别 16,状态 3,第 1 行
从 varchar 数据类型到 datetime 数据类型的转换产生一个超出范围的值。
语句已终止。
消息 242,级别 16,状态 3,第 1 行
从 varchar 数据类型到 datetime 数据类型的转换产生一个超出范围的值。
语句已终止。

鉴于datetime类型的只关乎到了col
二三两列,由此检查了好短时间那两列的数码是还是不是标准,然而最后开采并不是半间不界数据的主题材料。

鉴于datetime类型的只关乎到了col
23两列,因而检查了好短时间那两列的数码是不是标准,不过最后发掘并不是不专门的学问数据的标题。

插入语句写成:

插入语句写成:

insert into table1(col1,col2,col3,col4,col5) 
select col1,convert(datetime,col2),convert(datetime,col3),col4,col5 from table2
insert into table1(col1,col2,col3,col4,col5) 
select col1,convert(datetime,col2),convert(datetime,col3),col4,col5 from table2

则不会报错,应该是不能写明列名,导致极度时别的列的值十分到datetime列导致,由此sqlserver
insert into … select …时写明列名是很有不可缺少的,仅记与此。

则不会报错,应该是不能够写明列名,导致非凡时别的列的值十一分到datetime列导致,因而sqlserver
insert into … select …时写明列名是很有不能缺少的,仅记与此。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website