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,删除字段
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); } ?> |