A-A+

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

2017年10月16日 PHP技术文章 暂无评论 阅读 0 views 次

做过这么多年的开发了但对于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. //开源软件:www.xiariboke.net   
  13. }   
  14. ?>  
标签:

给我留言