当前位置:首页 > Mysql教程 > 列表

Mysql数据库中对表操作sql语句总结

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-23 22:31:04 浏览: 评论:0 

做过这么多年的开发了但对于mysql表操作从没有认真总结过了,今天看了一初学者整理了mysql表操作的一些命令我发现有很多不足或没有完整,下面我就整理加补充一下吧,希望对各位新手会带来帮助.

  1. --创建数据库 
  2. create database school 
  3. --打开数据库 
  4. use school 
  5. --创建表 
  6. create table student 
  7. ( 
  8. id int, 
  9. name varchar(20), 
  10. sex char(2), 
  11. age int, 
  12. date datetime, 
  13. info text, 
  14. bak varchar(500) 
  15. ) 
  16. --查看表结构 
  17. exec sp_help student 
  18. --修改、添加列(字段) 
  19. alter table student 
  20. add tel varchar(20) 
  21. --删除列(字段) 
  22. alter table student 
  23. drop column bak 
  24. --属性修改 
  25. --修改列名(字段名) 
  26. exec sp_rename 'student.sex','sex2' 
  27. --修改类型 
  28. alter table student 
  29. alter column age char(20) 
  30. --删除表 
  31. drop table student 
  32. -------------------------------表(结构):-------------------------------------------- 
  33. ----创建表,查看表结构,修改(增加列、删除列、属性(如姓名、年龄),删除表) 
  34. ---数据的完整性:主键约束、唯一约束、检查性约束、默认约束、外键约束 
  35. create table biao 
  36. ( 
  37. id int primary key, 
  38. name varchar(20), 
  39. sex char(2) check(sex='男' or sex='女'), 
  40. age int, 
  41. date datetime, 
  42. info text, 
  43. tel char(16) unique, 
  44. bak varchar(500) default '我是学生' 
  45. ) 
  46. create table grade 
  47. ( 
  48. id int not null, 
  49. name varchar(20), 
  50. sex char(2), 
  51. age int, 
  52. date datetime, 
  53. info text, 
  54. bak varchar(500) 
  55. ) 
  56. alter table grade 
  57. add tel char(16) 
  58. ---增加主键 
  59. alter table grade 
  60. add constraint aa primary key(id) 
  61. ---添加唯一性约束 
  62. alter table grade 
  63. add constraint bb unique(tel) 
  64. ---查看约束 
  65. exec sp_helpconstraint grade 
  66. ---添加检查性约束 
  67. alter table grade 
  68. add constraint sex check(sex='男' or sex='女') 
  69. ---添加默认约束 
  70. alter table grade 
  71. add constraint ccc default '我是好学生' for bak 
  72. ---删除约束 
  73. alter table grade 
  74. drop constraint ccc 
  75. -----------------------------添加约束的格式------------------------------------------ 
  76. ---alter table 表名 
  77. ---add constraint 约束名(别名(任意取)) 约束关键字 
  78. ----作业题,7.28----- 
  79. create table shop_jb 
  80. ( 
  81. id int primary key, 
  82. namel varchar(20), 
  83. spec varchar(20), 
  84. stock int, 
  85. price float, 
  86. datel datetime default '2010-7-6' 
  87. ) 
  88. create table shop_yw 
  89. ( 
  90. ywid int primary key, 
  91. name2 varchar(20), 
  92. sex char(2) check(sex='男' or sex='女'), 
  93. age int, 
  94. tel varchar(18) unique, 
  95. address varchar(20) 
  96. ) 
  97. create table shop_xs 
  98. ( 
  99. id int not null, 
  100. sale char(20), 
  101. quantity char(20), 
  102. date2 datetime default '2010-5-3', 
  103. ywid int 
  104. foreign key(id) references shop_jb, 
  105. foreign key(ywid) references shop_yw 
  106. ) 

例如:修改表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,代码如下:

  1. <?php 
  2. $link = mysql_connect($servername,$dbusername,$dbpassword); 
  3. if (mysql_select_db($dbname)) { 
  4. if ($link) { 
  5. echo “connect succeed”; 
  6. mysql_query(“ALTER TABLE `article` ADD `keywords` varchar(100) NOT NULL default ””) or die(mysql_error()); 
  7. echo “Add succeed”; 
  8. } else { 
  9. echo “connect failed”; 
  10. } 
  11. mysql_close($link); 
  12. //开源软件:phpfensi.com 
  13. } 
  14. ?>

Tags: Mysql操作sql sql操作

分享到: