mysql中数据表基本操作的示例
这篇文章主要介绍mysql中数据表基本操作的示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
案例:创建数据库company,按照下面两个表给出的表结构在company数据库中创建两个数据表offices和employees,按照操作过程完成数据表的基本操作。
操作过程如下:
(1):登录MySQL。
mysql-hlocalhost-uroot-p
打开windows命令行,输入登录用户名和密码:
C:\Users\Hudie>mysql-hlocalhost-uroot-pEnterpassword:********WelcometotheMySQLmonitor.Commandsendwith;or\g.YourMySQLconnectionidis19Serverversion:8.0.16MySQLCommunityServer-GPLCopyright(c)2000,2019,Oracleand/oritsaffiliates.Allrightsreserved.OracleisaregisteredtrademarkofOracleCorporationand/oritsaffiliates.Othernamesmaybetrademarksoftheirrespectiveowners.Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement.mysql>_
登录成功,可以输入SQL语句进行操作。
(2):创建数据库company。
createdatabasecompany;
mysql>createdatabasecompany;QueryOK,1rowaffected(0.06sec)
创建成功后,在company数据库中创建数据表,必须先选择该数据库。SQL语句如下:
mysql>usecompany;Databasechanged
(3):创建表offices。
createtableoffices
mysql>createtableoffices->(->officeCodeint(10)notnullunique,->cityvarchar(50)notnull,->addressvarchar(50)notnull,->countryvarchar(50)notnull,->postalCodevarchar(15)notnull,->primarykey(officeCode)->);QueryOK,0rowsaffected(0.14sec)mysql>showtables;+-------------------+|Tables_in_company|+-------------------+|offices|+-------------------+1rowinset(0.00sec)
(4):创建表enployees。
createtableemployees
mysql>createtableemployees->(->employeeNumberint(11)notnullprimarykeyauto_increment,->lastNameevarchar(50)notnull,->firstNamevarchar(50)notnull,->mobilevarchar(25)notnull,->officeCodeint(10)notnull,->jobTitlevarchar(50)notnull,->birthdatetime,->nothvarchar(25),->sexvarchar(5),->constraintoffice_fkforeignkey(officeCode)referencesoffices(officeCode)->);QueryOK,0rowsaffected(0.14sec)mysql>showtables;+-------------------+|Tables_in_company|+-------------------+|employees||offices|+-------------------+2rowsinset(0.01sec)
创建成功,查看两个表的结构:
mysql>descoffices;+------------+-------------+------+-----+---------+-------+|Field|Type|Null|Key|Default|Extra|+------------+-------------+------+-----+---------+-------+|officeCode|int(10)|NO|PRI|NULL|||city|varchar(50)|NO||NULL|||address|varchar(50)|NO||NULL|||country|varchar(50)|NO||NULL|||postalCode|varchar(15)|NO||NULL||+------------+-------------+------+-----+---------+-------+5rowsinset(0.06sec)mysql>descemployees;+----------------+-------------+------+-----+---------+----------------+|Field|Type|Null|Key|Default|Extra|+----------------+-------------+------+-----+---------+----------------+|employeeNumber|int(11)|NO|PRI|NULL|auto_increment||lastNamee|varchar(50)|NO||NULL|||firstName|varchar(50)|NO||NULL|||mobile|varchar(25)|NO||NULL|||officeCode|int(10)|NO|MUL|NULL|||jobTitle|varchar(50)|NO||NULL|||birth|datetime|YES||NULL|||noth|varchar(25)|YES||NULL|||sex|varchar(5)|YES||NULL||+----------------+-------------+------+-----+---------+----------------+9rowsinset(0.01sec)
(5):将表employees的mobile字段修改到officeCode字段后面。
altertableemployeesmodifymobilevarchar(25)afterofficeCode;
mysql>altertableemployeesmodifymobilevarchar(25)afterofficeCode;QueryOK,0rowsaffected(0.18sec)Records:0Duplicates:0Warnings:0mysql>descemployees;+----------------+-------------+------+-----+---------+----------------+|Field|Type|Null|Key|Default|Extra|+----------------+-------------+------+-----+---------+----------------+|employeeNumber|int(11)|NO|PRI|NULL|auto_increment||lastNamee|varchar(50)|NO||NULL|||firstName|varchar(50)|NO||NULL|||officeCode|int(10)|NO|MUL|NULL|||mobile|varchar(25)|YES||NULL|||jobTitle|varchar(50)|NO||NULL|||birth|datetime|YES||NULL|||noth|varchar(25)|YES||NULL|||sex|varchar(5)|YES||NULL||+----------------+-------------+------+-----+---------+----------------+9rowsinset(0.01sec)
(6):将表employees的birth字段改名为employee_birth。
altertableemployeeschangebirthemployee_birthdatetime;
mysql>altertableemployeeschangebirthemployee_birthdatetime;QueryOK,0rowsaffected(0.03sec)Records:0Duplicates:0Warnings:0mysql>descemployees;+----------------+-------------+------+-----+---------+----------------+|Field|Type|Null|Key|Default|Extra|+----------------+-------------+------+-----+---------+----------------+|employeeNumber|int(11)|NO|PRI|NULL|auto_increment||lastNamee|varchar(50)|NO||NULL|||firstName|varchar(50)|NO||NULL|||officeCode|int(10)|NO|MUL|NULL|||mobile|varchar(25)|YES||NULL|||jobTitle|varchar(50)|NO||NULL|||employee_birth|datetime|YES||NULL|||noth|varchar(25)|YES||NULL|||sex|varchar(5)|YES||NULL||+----------------+-------------+------+-----+---------+----------------+9rowsinset(0.00sec)
(7):修改sex字段,设置数据类型为char(1),非空约束。
altertableemployeesmodifysexchar(1)notnull;
mysql>altertableemployeesmodifysexchar(1)notnull;QueryOK,0rowsaffected(0.20sec)Records:0Duplicates:0Warnings:0mysql>descemployees;+----------------+-------------+------+-----+---------+----------------+|Field|Type|Null|Key|Default|Extra|+----------------+-------------+------+-----+---------+----------------+|employeeNumber|int(11)|NO|PRI|NULL|auto_increment||lastNamee|varchar(50)|NO||NULL|||firstName|varchar(50)|NO||NULL|||officeCode|int(10)|NO|MUL|NULL|||mobile|varchar(25)|YES||NULL|||jobTitle|varchar(50)|NO||NULL|||employee_birth|datetime|YES||NULL|||noth|varchar(25)|YES||NULL|||sex|char(1)|NO||NULL||+----------------+-------------+------+-----+---------+----------------+9rowsinset(0.01sec)
(8):删除字段noth。
altertableemployeesdropnoth;
mysql>altertableemployeesdropnoth;QueryOK,0rowsaffected(0.15sec)Records:0Duplicates:0Warnings:0mysql>descemployees;+----------------+-------------+------+-----+---------+----------------+|Field|Type|Null|Key|Default|Extra|+----------------+-------------+------+-----+---------+----------------+|employeeNumber|int(11)|NO|PRI|NULL|auto_increment||lastNamee|varchar(50)|NO||NULL|||firstName|varchar(50)|NO||NULL|||officeCode|int(10)|NO|MUL|NULL|||mobile|varchar(25)|YES||NULL|||jobTitle|varchar(50)|NO||NULL|||employee_birth|datetime|YES||NULL|||sex|char(1)|NO||NULL||+----------------+-------------+------+-----+---------+----------------+8rowsinset(0.01sec)
(9):增加字段名favoriate_activity,数据类型为varchar(100)
altertableemployeesaddfavoriate_activityvarchar(100);
mysql>altertableemployeesaddfavoriate_activityvarchar(100);QueryOK,0rowsaffected(0.09sec)Records:0Duplicates:0Warnings:0mysql>descemployees;+--------------------+--------------+------+-----+---------+----------------+|Field|Type|Null|Key|Default|Extra|+--------------------+--------------+------+-----+---------+----------------+|employeeNumber|int(11)|NO|PRI|NULL|auto_increment||lastNamee|varchar(50)|NO||NULL|||firstName|varchar(50)|NO||NULL|||officeCode|int(10)|NO|MUL|NULL|||mobile|varchar(25)|YES||NULL|||jobTitle|varchar(50)|NO||NULL|||employee_birth|datetime|YES||NULL|||sex|char(1)|NO||NULL|||favoriate_activity|varchar(100)|YES||NULL||+--------------------+--------------+------+-----+---------+----------------+9rowsinset(0.00sec)
(10):删除主表offices
①删除表的外键约束:alter table employees drop foreign key office_fk;
②删除表offices:drop table offices;
mysql>altertableemployeesdropforeignkeyoffice_fk;QueryOK,0rowsaffected(0.03sec)Records:0Duplicates:0Warnings:0mysql>droptableoffices;QueryOK,0rowsaffected(0.03sec)mysql>showtables;+-------------------+|Tables_in_company|+-------------------+|employees|+-------------------+1rowinset(0.06sec)
(11):修改表employees存储引擎为MyISAM。
altertableemployeesENGINE=MyISAM;
mysql>altertableemployeesENGINE=MyISAM;QueryOK,0rowsaffected(0.17sec)Records:0Duplicates:0Warnings:0mysql>showcreatetableemployees\G***************************1.row***************************Table:employeesCreateTable:CREATETABLE`employees`(`employeeNumber`int(11)NOTNULLAUTO_INCREMENT,`lastNamee`varchar(50)NOTNULL,`firstName`varchar(50)NOTNULL,`officeCode`int(10)NOTNULL,`mobile`varchar(25)DEFAULTNULL,`jobTitle`varchar(50)NOTNULL,`employee_birth`datetimeDEFAULTNULL,`sex`char(1)NOTNULL,`favoriate_activity`varchar(100)DEFAULTNULL,PRIMARYKEY(`employeeNumber`),KEY`office_fk`(`officeCode`))ENGINE=MyISAMDEFAULTCHARSET=utf8mb4COLLATE=utf8mb4_0900_ai_ci1rowinset(0.00sec)
(12)将表employees名称修改为employees_info。
altertableemployeesrenameemployees_info;
mysql>altertableemployeesrenameemployees_info;QueryOK,0rowsaffected(0.07sec)mysql>showtables;+-------------------+|Tables_in_company|+-------------------+|employees_info|+-------------------+1rowinset(0.00sec)
以上是“mysql中数据表基本操作的示例”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。