做过这么多年的开发了但对于mysql表操作从没有认真总结过了,今天看了一初学者整理了mysql表操作的一些命令我发现有很多不足或没有完整,下面我就整理加补充一下吧,希望对各位新手会带来帮助.
- --创建数据库
- 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);
-
- }
- ?>
|