码迷,mamicode.com
首页 > 数据库 > 详细

MySQL创建和操作数据库表demo

时间:2015-12-21 18:05:25      阅读:1200      评论:0      收藏:0      [点我收藏+]

标签:

【1】建立员工档案表
要求字段:员工员工编号,员工姓名,性别,工资,email,入职时间,部门。

【2】合理选择数据类型及字段修饰符,要求有NOT NULL,auto_increment, primary key等。

DROP TABLE IF EXISTS `workers_info`;
CREATE TABLE `workers_info` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`workername` varchar(20) NOT NULL,
`sex` enum(F,M,S),
`salary` int(11) DEFAULT ‘0‘,
`email` varchar(30),
`EmployedDates` date,
`department` varchar(30),
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


mysql> alter table workers_info ADD sex enum(‘F‘,‘M‘,‘S‘);

【3】查看表的结构

  mysql> desc  workers_info;

【4】新增qq和tel字段,要求tel字段位于email前,要求入职时间是最后一个字段------添加字段

mysql> ALTER TABLE workers_info ADD tel varchar(15) after salary;

mysql> ALTER TABLE workers_info ADD qq int;
ALTER TABLE workers_info MODIFY EmployedDates date after qq;

【5】把email字段修改成mailbox------修改字段名

 mysql> ALTER TABLE workers_info CHANGE email mailbox varchar(30);

【6】向表里添加10条记录------添加数据

mysql> INSERT INTO workers_info (workername,salary,tel,mailbox,department,qq,EmployedDates) values(‘xing‘,10000,‘1598232123‘,‘xing@qq.com‘,‘yanfa‘,736019646,20121221);

【7】修改其中两条记录的tel和mailbox------修改数据

mysql> UPDATE workers_info SET mailbox = ‘haha@qq.com‘,tel=‘1246543423‘ WHERE id = 13;

【8】查看所添加记录------查询数据

mysql> select * from workers_info;

【9】查看姓名和入职时间记录

mysql> select workername,EmployedDates from workers_info;

【10】查询入职时间在2003年以前的------日期筛选

mysql> select * from workers_info where year(EmployedDates) < 2003;

【11】查询工资最高和最低的员工姓名------排序

mysql> select * from workers_info ORDER BY salary limit 1;
mysql> select * from workers_info ORDER BY salary desc limit 1;

【12】查询平均工资------平均函数

mysql> select avg(salary) from workers_info;

【13】统计男员工人数、女员工人数------总和函数

mysql> select count(1) from workers_info where sex="M";

【14】按照入职时间先后进行排序,并显示前5位员工姓名

mysql> select * from workers_info ORDER BY EmployedDates limit 5;

 

版权出自:http://blog.csdn.net/kakane/article/details/7401111

----------

Demo:

1、最简单的:

CREATE TABLE t1(
   id int not null,
   name char(20)
);

2、带主键的:

CREATE TABLE t1(
   id int not null primary key,
   name char(20)
);

  复合主键:

CREATE TABLE t1(
   id int not null,
   name char(20),
   primary key (id,name)
);

3、带默认值的:

CREATE TABLE t1(
   id int not null default 0 primary key,
   name char(20) default ‘1‘
);

 

转帖:

CREATE TABLE PLAYERS
       (PLAYERNO      INTEGER NOT NULL PRIMARY KEY,
        NAME          CHAR(15NOT NULL,
        INITIALS      CHAR(3NOT NULL,
        BIRTH_DATE    DATE,
        SEX           CHAR(1NOT NULL
                     CHECK(SEX IN (‘M‘,‘F‘)),
        JOINED        SMALLINT NOT NULL
                     CHECK(JOINED > 1969) ,
        STREET        CHAR(30NOT NULL,
        HOUSENO       CHAR(4),
        POSTCODE      CHAR(6CHECK(POSTCODE LIKE ‘______‘),
        TOWN          CHAR(10NOT NULL,
        PHONENO       CHAR(13),
        LEAGUENO      CHAR(4))
;


CREATE TABLE TEAMS
       (TEAMNO        INTEGER NOT NULL PRIMARY KEY,
        PLAYERNO      INTEGER NOT NULL,
        DIVISION      CHAR(6)   NOT NULL
                     CHECK(DIVISION IN (‘first‘,‘second‘)),
        FOREIGN KEY   (PLAYERNO) REFERENCES PLAYERS (PLAYERNO))
;


CREATE TABLE MATCHES
       (MATCHNO       INTEGER NOT NULL PRIMARY KEY,
        TEAMNO        INTEGER NOT NULL,
        PLAYERNO      INTEGER NOT NULL,
        WON           SMALLINT NOT NULL
                     CHECK(WON BETWEEN 0 AND 3),
        LOST          SMALLINT NOT NULL
                     CHECK(LOST BETWEEN 0 AND 3),
        FOREIGN KEY (TEAMNO) REFERENCES TEAMS (TEAMNO),
        FOREIGN KEY (PLAYERNO) REFERENCES PLAYERS (PLAYERNO))
;


CREATE TABLE PENALTIES
       (PAYMENTNO     INTEGER NOT NULL PRIMARY KEY,
        PLAYERNO      INTEGER NOT NULL,
        PAYMENT_DATE DATE NOT NULL
                     CHECK(PAYMENT_DATE >= DATE(‘1969-12-31‘)),
        AMOUNT        DECIMAL(7,2)   NOT NULL
                     CHECK (AMOUNT > 0),
        FOREIGN KEY (PLAYERNO) REFERENCES PLAYERS (PLAYERNO))
;


CREATE TABLE COMMITTEE_MEMBERS
       (PLAYERNO      INTEGER NOT NULL,
        BEGIN_DATE    DATE NOT NULL,
        END_DATE      DATE,
        POSITION      CHAR(20),
        PRIMARY KEY   (PLAYERNO, BEGIN_DATE),
        FOREIGN KEY   (PLAYERNO) REFERENCES PLAYERS (PLAYERNO),
        CHECK(BEGIN_DATE < END_DATE),
        CHECK(BEGIN_DATE >= DATE(‘1990-01-01‘)))

;

 

MySQL创建和操作数据库表demo

标签:

原文地址:http://www.cnblogs.com/xiaowenwu/p/5063654.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!