mysql之创建数据库,创建数据表-阿里云开发者社区

开发者社区> ghost丶桃子> 正文

mysql之创建数据库,创建数据表

简介:
+关注继续查看

写在前面

项目中用到mysql数据库,之前也没用过mysql,今天就学下mysql的常用的语法,发现跟sql server的语法极其相似。用起来还是蛮简单的。

一个例子

1、创建一个名为School的数据库。

1、创建一个学生信息表:学生id(自增,主键),姓名,年龄,性别,电话,籍贯,入学时间,所属班级id(外键)。

2、创建一个学生成绩表:成绩id(自增,主键),科目,成绩,学生id(外键),创建时间。

3、创建一个学生班级表:班级id(主键,自增),班级名称。

创建表和数据库

复制代码
#如果存在数据库School,则删除。否则创建数据库
drop database if exists `School`;
#创建数据库
create database `School`;
use `School`;
#如果存在数据表,则删除,否则创建
drop table if exists `tb_class`;
#创建一个学生班级表:班级id(主键,自增),班级名称。
create table `tb_class`
(
`id` int(11) not null AUTO_INCREMENT primary key ,
`Name` varchar(32) not null

);
Drop table if  exists tb_student;
#创建一个学生信息表:学生id(自增,主键),姓名,年龄,性别,入学时间,所属班级id(外键)。
create table `tb_student`
(
 `id` int(11) not null auto_increment primary key,
 `Name` varchar(32) not null,
 `Age` int default 0,check(`Age`>0 and `Age`<=100),
 `gender` boolean default 0,check(`gender`=0 or `gender`=1),
 `date` datetime default now()
);
#创建一个学生成绩表:成绩id(自增,主键),科目,成绩,学生id(外键),创建时间。
drop table if exists `tb_score`;
create table `tb_score`
(`id` int(11) not null AUTO_INCREMENT PRIMARY key,
`course` varchar(32) not null,
`Score` float(3,1) not null,
`stuId` int(11) not null , 
constraint `FK_Stuid` foreign key(`stuId`) references `tb_student`(`id`)
);
复制代码

查询创建的数据库

show databases;

查看表结构

use school;
desc tb_student;

结果

修改学生信息表的字段date为createdate。

1 use school;
2 alter table tb_student change `date` `createdate` datetime;

在学生信息表姓名之后添加学生电话字段。

use school;
alter table tb_student add `phone` varchar(15) after `name`;

为表tb_student添加字段classid,并设置为外键。

use school;
alter table tb_student add classId int(11) not null;
alter table tb_student add constraint `FK_class_student` foreign key(`classId`) references tb_class(`id`);

总结

创建数据库和创建数据表的内容就学到这里,如果用过sql server 这个学起来还是容易上手的。之后将学习数据表中的增删改查。

博客地址: http://www.cnblogs.com/wolf-sun/
博客版权: 本文以学习、研究和分享为主,欢迎转载,但必须在文章页面明显位置给出原文连接。
如果文中有不妥或者错误的地方还望高手的你指出,以免误人子弟。如果觉得本文对你有所帮助不如【推荐】一下!如果你有更好的建议,不如留言一起讨论,共同进步!
再次感谢您耐心的读完本篇文章。http://www.cnblogs.com/wolf-sun/p/4491781.html

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SQL Server 2012 创建数据库快照
原文:SQL Server 2012 创建数据库快照   不是所有的MSSQL数据库版本都支持数据库快照,只有Enterprise版本的才支持。 在其他版本上,以Business Intelligence Edition版本为例,创建快照时,会报如下错误 消息 1844,级别 16,状态 1,第 1 行Business Intelligence Edition 不支持 Database Snapshot。
1404 0
Sql Server用管理器建表后如何查看创建表的语句
右键建的那个表--&gt;编写表脚本为--&gt;CREATE到--&gt;新建编辑器查看窗口,就会出现新建表的SQL语句.
1536 0
C#使用SqlBulkCopy将DataTable写入数据库的表中(表不存在则创建新表,数据存在则更新,不存在则插入)
原文:.net使用SqlBulkCopy导入数据(创建新表) .net2.0后ado.net提供了一个快速导入sqlserver的方法sqlbulkcopy.导入效率非常高.  包装了一个简单的sqlbulkcopy类,用于数据从datatable导入到sqlserver.
2237 0
Mysql数据库表分区存储到指定磁盘路径
0. 前提: mysql5.6.6以上的版本以上的版本才支持单表指定目录,且目录权限是mysql:mysql。 在mysql中数据文件存放于在my.cnf中datadir指定的路径,使用的表引擎不同产生的文件格式、表文件个数也会有所差异。 mysql的表引擎有多种,表的扩展名也不一样,如innodb用“ .ibd”,archive用“.arc ”,csv用“.csv”等。
12 0
1955
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载