用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > mysql教程

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

时间:2015-01-23  来源:西部数据  作者:西部数据

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

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

  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. mysql_close($link); 
  11. //开源软件:phpfensi.com 
  12. ?>
来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
    无相关信息
栏目更新
栏目热门