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.导入数据

  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,删除字段

韦德1946 ,  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…

假定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Price;另外一张表是ProductPrice表,我们要将ProductPrice表中的价格字段Price更新为Price表中价格字段的80%。
在Mysql中我们有几种手段可以做到这一点,一种是update table1 t1, table2 ts
…的方式:

复制代码 代码如下:

UPDATE product p, productPrice pp
SET pp.price = pp.price * 0.8
WHERE p.productId = pp.productId
AND p.dateCreated < ‘2004-01-01’

另外一种方法是使用inner join然后更新:

复制代码 代码如下:

UPDATE product p
INNER JOIN productPrice pp
ON p.productId = pp.productId
SET pp.price = pp.price * 0.8
WHERE p.dateCreated < ‘2004-01-01’

另外我们也可以使用left outer
join来做多表update,比方说如果ProductPrice表中没有产品价格记录的话,将Product表的isDeleted字段置为1,如下sql语句:

Author

发表评论

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