澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

澳门新萄京官方网站DDL之库和表的保管,数据定

2019-06-29 作者:数据库网络   |   浏览(89)

DDL(Data Definition languages)数据定义语言,那么些语句主要定义了不一样的数据段,数据表、列、索引等操作,首要关键字有create、drop、alter。
一、 数据库的操作
1.数据库的创设
CREATE DATABASE IF NOT EXISTS chens;
2.数据库的改换
CREATE DATABASES BOOKS TO 新库名;
瞩目:一般不更动库的名字,因为如此修改的话可能会使库中的数据变动。
3.转移数据库的字符集
ALTER DATABASE chens character set gbk;
4.删除库
DROP DATABASE IF EXISTS chens;

DDL(Data Define Languge):数据定义语言

ALTEQX56 TABLE:加多,修改,删除表的列,约束等表的定义。

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

  ---增添检查性约束

  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 约束名(别称(率性取)) 约束关键字

  ----作业题,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.充实一个字段(一列)

  alter table table_name add column column_name type default value; type指该字段的品种,value指该字段的默许值

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

  2.改动一个字段名字(也足以变动类型和暗许值)

  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;

  3.更改一个字段的暗许值

  alter table table_name alter column_name set default value;

  例如:alter table book alter flag set default '0';

  4.转移贰个字段的数据类型

  alter table table_name change column column_name column_name type;

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

  5.向二个表中增添八个列做为主键

  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;

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

  mysqldump -u root -p database_name table_name > bak_file_name

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

  7.导出多少

  select_statment into outfile"dest_file";

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

  8.导入数据

澳门新萄京官方网站DDL之库和表的保管,数据定义语言。  load data infile"file_name" into table table_name;

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

  9.将多少个表里的数额拼接后插入到另二个表里。上边包车型客车例子表明将t1表中的com2和t2表中的com1字段的值拼接后插入到tx表对应的

  字段里。

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

  10,删除字段

  alter table form1 drop column 列名;

  补充七个:

  PHP操作MySQL对表增添一列

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

  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...

在修改Sql Server表结构时,常用到Alter语句,把有些常用的alter语句列举如下。

二、 表的军管
1.表的开创
Create table 表名(
列名 类型[长度] 约束1 约束2 ……,
澳门新萄京官方网站DDL之库和表的保管,数据定义语言。列名 类型[长度] 约束1 约束2 ……,

列名 类型[长度] 约束1 约束2 ……,
[表级约束]
) [engine=Innodb default charset=utf-8 存款和储蓄引擎 和 字符集];
创建表 book
Create table book(
id int,
bName varchar(20),
price double,
authorId INT,
rDate datetime
);
澳门新萄京官方网站 1
澳门新萄京官方网站 2
2.表的修改
语法:
Alter table 表名 add | drop | modify | change column 列名 [列类型 约束];
①修改列名
Alter table book change column rDate rQi datetime;
澳门新萄京官方网站 3
②修改列的品种和封锁
Alter table book modify column rQi TIMESTAMP;
澳门新萄京官方网站 4
③修改增添新列
Alter table book add column chen varchar(20);
小心:增添新列到内定地方
first 和 after,first 表示增添列到表的首先列,after 表示加多在有个别列其后。
语法:alter table book add column 字段名 类型 约束 [first | after 列名]
暗中认可增加到最终一列。
澳门新萄京官方网站 5
④删除列
Alter table book drop column chen;
澳门新萄京官方网站 6
⑤改变表名
Alter table book rename to book_chen;
澳门新萄京官方网站 7
澳门新萄京官方网站 8
3.表的删减
Drop table if exists book_chen;
Show tables;
澳门新萄京官方网站 9
4.表的复制
表1是已存在的表,表2不设有的表
①只复制表的组织
Create table 表2 like 表1;
澳门新萄京官方网站 10
②复制数据 内容
Create table 表2 like select * from 表1;
③复制部分数据
Create table 表2 like select * from 表1 where 条件;
④仅仅复制有些字段
Create table 表2 like select 字段1 ,字段2 from 表1 where 0;

语法:create database [if not exists]库名;

  • 查看列:desc 表名;
  • 修改表名:alter table t_book rename to bbb;
  • 添加列:alter table 表名 add column 列名 varchar(30);
  • 增多带注释的列:alter table directory add index_url varchar(256) default null comment '章节书目链接' after dir_url;
  • 删除列:alter table 表名 drop column 列名;
  • 修改列名MySQL: alter table bbb change nnnnn hh int;
  • 修改列名SQLServer:exec sp_rename't_student.name','nn','column';
  • 修改列名Oracle:lter table bbb rename column nnnnn to hh int;
  • 修改列属性:alter table t_book modify name varchar(22);

1:向表中增添字段

案例:创建库books

sp_rename:SQLServer 内置的积攒进程,用与修改表的定义。

Alter table [表名] add [列名] 类型

CREATE DATABASE IF NOT EXISTS books ;

 

2:  删除字段

更换库的字符集

 

Alter table [表名]  drop column [列名]

ALTER DATABASE books CHARACTER SET gbk;

MySQL 查看约束,增添约束,删除约束 增加列,修改列,删除列

澳门新萄京官方网站,3:  修改表中字段类型 (能够修改列的类型,是不是为空)

DROP DATABASE IF EXISTS books;

 

Alter table [表名] alter column [列名] 类型

语法:create table 表名(列名 列的等级次序,列名 列的类别,...列名 列的种类;

  • 查看表的字段信息:desc 表名;
  • 查看表的保有新闻:show create table 表名;
  • 增加主键约束:alter table 表名 add constraint 主键 (形如:PK_表名) primary key 表名(主键字段);
  • 累加外键约束:alter table 从表 add constraint 外键(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);
  • 去除主键约束:alter table 表名 drop primary key;
  • 剔除了那个之外键约束:alter table 表名 drop foreign key 外键(区分轻重缓急写);

  • 修改表名:alter table t_book rename to bbb;

  • 添加列:alter table 表名 add column 列名 varchar(30);
  • 删除列:alter table 表名 drop column 列名;
  • 修改列名MySQL: alter table bbb change nnnnn hh int;
  • 修改列名SQLServer:exec sp_rename't_student.name','nn','column';
  • 修改列名Oracle:alter table bbb rename column nnnnn to hh int;
  • 修改列属性:alter table t_book modify name varchar(22);
  •  MySQL修改字段暗许值

      解决

      alter table topic alter column cateId set default '2';

      语法

      alter table表名alter column字段名drop default; (若自身存在暗中认可值,则先删除)

      alter table 表名 alter column 字段名 set default 私下认可值;(若自个儿不存在则能够平昔设定)

  • 丰裕带默许值,带字段描述的列:ALTE奥迪Q5 TABLE jz_order ADD COLUMN delay_delivery tinyint(3) DEFAULT 0 COMMENT '是不是推迟收货,0:表示尚未延期,1:第三回推迟 2:首回推迟' AFTEWranglerc_userid;

4:增多主键

澳门新萄京官方网站 11

 

Alter table [表名] add constraint [ 约束名] primary key( [列名])

DESC book;

 

5:增多唯一约束

澳门新萄京官方网站 12澳门新萄京官方网站 13

 

Alter table [表名] add constraint [ 约束名] unique([列名])

语法:alter table 表名 add|drop|modify|change column 列名 ;

sp_rename:SQLServer 内置的囤积进度,用与修改表的概念。

6:增多表中某列的暗中认可值

①修改列名

 

Alter table [表名] add constraint [约束名] default(默认值) for [列名]
7:增添约束

ALTER TABLE book CHANGE COLUMN publishdate pubDate DATETIME;

INSERT IGNORE 与INSERT INTO的区分正是INSERT IGNORE会忽略数据库中一度存在 的数量,借使数据库未有数量,就插入新的数目,要是有数量的话就跳过那条数据。那样就足以保留数据库中早就存在数据,达到在闲暇中插入数据的指标。
eg:
insert ignore into table(name)  select  name from table2

Alter table [表名] add constraint [约束名] check (内容)

②修改列的类型或约束

 

8:加多外键约束

ALTER TABLE book MODIFY COLUMN pubdate TIMESTAMP;

 

 Alter table [表名] add constraint [约束名]  foreign key(列名) referencese 另一表名(列名)

③加多新列

MySQL 相关数据库、表、表结构等展现命令

1、突显数据库列表。
show databases;
2、彰显库中的数据表:
use mysql;
show tables;
3、呈现数据表的布局:
describe 表名;
4、建库:
create database 库名;
5、建表:
use 库名;
create table 表名 (字段设定列表);
6、删库和删表:
drop database 库名;
drop table 表名;
7、将表中记录清空:
delete from 表名;

9:删除约束

ALTER TABLE author ADD COLUMN annual DOUBLE;

Alter table [表名] drop constraint [约束名] 

④删除列

10:重命名表

ALTER TABLE author DROP COLUMN annual;

exec sp_rename '[原表名]','[新表名]'

⑤改换表名

11:重命名列名

ALTER TABLE author RENAME TO book_author;

exec sp_rename '[表名].[列名]','[表名].[新列名]'

DROP TABLE IF EXISTS book_author;

 

查阅当前数据库的表:SHOW TABLES;

是因为2.3曾经把author表删了,所以先依据2.1创建回该表,然后插入一些数额;

澳门新萄京官方网站 14

一味复制表的布局

CREATE TABLE copy LIKE author;

复制表的构造 数据

CREATE TABLE copy2 SELECT * FROM author;

只复制部分数据

CREATE TABLE copy3 SELECT id,au_name FROM author WHERE nation='中国';

偏偏复制有个别字段

CREATE TABLE copy4 SELECT id,au_name FROM author WHERE 0;

DROP DATABASE IF EXISTS 旧库名;

CREATE DATABASE 新库名;

DROP TABLE IF EXISTS 旧表名;

CREATE TABLE 表名();

保养入微民众号:Java后端生活,干货小说第不经常间送达!

澳门新萄京官方网站 15

本文由澳门新萄京官方网站发布于数据库网络,转载请注明出处:澳门新萄京官方网站DDL之库和表的保管,数据定

关键词: