[MySQL学习]MySQL学习之路(一)131028:数据库的基本操作和数据表的基本操作

最近开始学习MySQL,希望通过写博客的方式能使自己得到提高,也算是一个小小的总结。

教材是基于Mysql5.5的

使用的是RedHatEnterpriseLinux6.4环境

MySQL使用的V5.1.69


(1)进入MySQL,展示已创立的数据库(ps:后面用到数据库的test_db我已经创建好了,先说一下)

mysql> show databases;

215306196.jpg


(2)然后开始建立数据库 test_db

mysql> create database test_db;

215346738.jpg

ps:我所使用的是MySQL5.1.69,其默认MySQL引擎是MyISAM(注一),这里先提一下

mysql> show variables like 'storage_engine';

215423761.jpg


(3)接下来就是使用刚刚建立的数据库 test_db

mysql> use test_db

215521772.jpg


(4)查看一下刚才创建的数据库 test_db 的定义

mysql> show create database test_db;

215720891.jpg


(5)这里因为后面的操作,我们退出MySQL,更改一下MySQL的配置文件

#vim /etc/my.cnf

在[mysqld]的下面加入一行 default-storage-engine=InooDB

220812271.jpg


(6)我们再进入MySQL命令行,创建数据表 tb_emp1

mysql> create table tb_emp1

-> (

-> id int(11) primary key,

-> name varchar(25),

-> deptId int(11),

-> salary float

-> );


在这里制定id为主键,也可以进行联合主键,在定义的最后加入

-> primary key(name,deptId)

此外还有以下几种约束:

1.外键约束

建立一个新表 tb_emp2 并在其中建立一个名为 fk_emp2_emp1 的外键,关联的是tb_emp2中的realname和tb_emp1中的name,其中tb_emp1为父表,tb_emp2为子表

mysql> create table tb_emp2

-> (

-> realid int(11) primary key,

-> realname varchar(25),

-> realdeptId int(11),

-> realsalary float

-> constraint fk_emp2_emp1 foreign key tb_emp2(realname) references tb_emp1(name)

-> );

其中操作(4)的原因就是为设置外键,如果引擎不是InnoDB,则无法成功设置外键


2.非空约束

建立一个新表 tb_emp3 其中对name进行非空约束

mysql> create table tb_emp3

-> (

-> id int(11) primary key,

-> name varchar(25) not null,

-> deptId int(11),

-> salary float

-> );


3.唯一约束

其功能是确定该列中不出现重复值(可以有空值),建立一个新表 tb_emp4 ,设置deptId唯一性约束 mysql> create table tb_emp4

-> (

-> id int(11) primary key,

-> name varchar(25) ,

-> deptId int(11) unique,

-> salary float

-> );


4.默认约束

其功能是让该列数据均为同一个默认值,建立一个新表 tb_emp5 ,设置deptId 默认约束

mysql> create table tb_emp5

-> (

-> id int(11) primary key,

-> name varchar(25) ,

-> deptId int(11) default 1111,

-> salary float

-> );


5.表属性值自动增加

其功能是让其属性每增加一条记录自动增加,只针对整数类型,建立一个新表 tb_emp6 ,设置id 自动增加

mysql> create table tb_emp6

-> (

-> id int(11) primary key auto_increment,

-> name varchar(25) ,

-> deptId int(11) ,

-> salary float

-> );


(7) 接下来我们查看我们所创建的数据表

mysql> describe tb_emp1;

或者

mysql> desc tb_emp1;


(8)下面进行修改数据表操作

1.修改表名

将表 tb_emp1 更名 tb_emp

mysql> alter table tb_emp1 rename tb_emp ;

2.修改字段的数据类型
将表 tb_emp4 中的 name 字段的数据类型 varchar(25) 改为 varchar(22)

mysql> alter table tb_emp4 modify name varchar(22) ;

3.修改字段名

将表 tb_emp4 中的 name 字段改为 realname 数据类型保持不变

mysql> alter table tb_emp4 change name realname varchar(22) ;

4.添加字段

在表 tb_emp4 添加字段

4.1 添加无完整性约束条件的字段

mysql> alter table tb_emp4 add managerId Int(10);

4.2 添加有完整性约束条件的字段

mysql> alter table tb_emp4 add column1 varchar(12) not null;

4.3 在表的第一列添加一个字段

mysql> alter table tb_emp4 add column2 int(11) first;

4.4 在表的指定列之后添加一个字段

mysql> alter table tb_emp4 add column3 int(11) after realname;

5.删除字段

删除表 tb_emp4 中的字段column2

mysql> alter table tb_emp4 drop column2;

6.修改字段的排列位置

其实与操作2是一样的,后面加上first,after即可

7.修改表的存储引擎

mysql> alter table tb_emp4 engine=myisam;

8.删除表的外键约束

删除表tb_emp2中的外键 fk_emp2_emp1

mysql> alter table tb_emp2 drop foreign key fk_emp2_emp1;

9.删除不用的表

mysql> drop table tb_emp3;

(9)接下来就是删除我们刚刚建立的数据库test_db,不想删这个的话,再建一个test_db2吧

mysql> drop database test_db2;







你可能感兴趣的:(MySQL基础,Mysql学习,MySQL入门)