金沙棋牌app手机下载

当前位置:金沙棋牌 > 金沙棋牌app手机下载 > Mysql数据库中对表操作sql语句总结,数据定义语言

Mysql数据库中对表操作sql语句总结,数据定义语言

来源:http://www.logblo.com 作者:金沙棋牌 时间:2019-11-05 18:52

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;

DROP TABLE IF EXISTS book_author;

 

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,

金沙棋牌app手机下载,  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.导入数据

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

二、 表的管理
1.表的创建
Create table 表名(
列名 类型[长度] 约束1 约束2 ……,
列名 类型[长度] 约束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
);
金沙棋牌app手机下载 1
金沙棋牌app手机下载 2
2.表的修改
语法:
Alter table 表名 add | drop | modify | change column 列名 [列类型 约束];
①修改列名
Alter table book change column rDate rQi datetime;
金沙棋牌app手机下载 3
②修改列的类型和约束
Alter table book modify column rQi TIMESTAMP;
金沙棋牌app手机下载 4
③修改添加新列
Alter table book add column chen varchar(20);
注意:添加新列到指定位置
first 和 after,first 表示添加列到表的第一列,after 表示添加在某个列之后。
语法:alter table book add column 字段名 类型 约束 [first | after 列名]
默认添加到最后一列。
金沙棋牌app手机下载 5
④删除列
Alter table book drop column chen;
金沙棋牌app手机下载 6
⑤修改表名
Alter table book rename to book_chen;
金沙棋牌app手机下载 7
金沙棋牌app手机下载 8
3.表的删除
Drop table if exists book_chen;
Show tables;
金沙棋牌app手机下载 9
4.表的复制
表1是已存在的表,表2不存在的表
①只复制表的结构
Create table 表2 like 表1;
金沙棋牌app手机下载 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;

⑤修改表名

 

仅仅复制表的结构

 

④删除列

  • 查看表的字段信息: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 默认值;(若本身不存在则可以直接设定)

  • 添加带默认值,带字段描述的列:ALTER TABLE jz_order ADD COLUMN delay_delivery tinyint(3) DEFAULT 0 COMMENT '是否延期收货,0:表示没有延期,1:第一次延期 2:第二次延期' AFTER c_userid;

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

 

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

 

ALTER TABLE author DROP COLUMN annual;

 

语法:create table 表名(列名 列的类型,列名 列的类型,...列名 列的类型;

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

①修改列名

INSERT IGNORE 与INSERT INTO的区别就是INSERT IGNORE会忽略数据库中已经存在 的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过这条数据。这样就可以保留数据库中已经存在数据,达到在间隙中插入数据的目的。
eg:
insert ignore into table(name)  select  name from table2

ALTER DATABASE books CHARACTER SET gbk;

 

CREATE TABLE copy LIKE author;

 

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

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 表名;

金沙棋牌app手机下载 11

sp_rename:SQLServer 内置的存储过程,用与修改表的定义。

案例:创建库books

 

只复制部分数据

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

ALTER TABLE author RENAME TO book_author;

  • 查看列: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);

金沙棋牌app手机下载 12

sp_rename:SQLServer 内置的存储过程,用与修改表的定义。

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

金沙棋牌app手机下载 13金沙棋牌app手机下载 14

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

仅仅复制某些字段

②修改列的类型或约束

DROP DATABASE IF EXISTS books;

更改库的字符集

CREATE DATABASE IF NOT EXISTS books ;

ALTER TABLE book CHANGE COLUMN publishdate pubDate DATETIME;

DROP DATABASE IF EXISTS 旧库名;

CREATE DATABASE 新库名;

DROP TABLE IF EXISTS 旧表名;

CREATE TABLE 表名();

关注公众号:Java后端生活,干货文章第一时间送达!

CREATE TABLE copy2 SELECT * FROM author;

ALTER TABLE book MODIFY COLUMN pubdate TIMESTAMP;

DESC book;

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

金沙棋牌app手机下载 15

由于2.3已经把author表删了,所以先根据2.1创建回该表,然后插入一些数据;

复制表的结构+数据

ALTER TABLE author ADD COLUMN annual DOUBLE;

③添加新列

本文由金沙棋牌发布于金沙棋牌app手机下载,转载请注明出处:Mysql数据库中对表操作sql语句总结,数据定义语言

关键词: