MySQL学习历程(二):基本操作

1.登录数据库

打开命令行,输入以下命令,输入root密码后即登录MySQL数据库。

mysql -h localhost -u root -p

2.创建数据库

CREATE DATABASE <database_name>;

3.查看数据库信息

SHOW CREATE DATABASE <database_name> \G;

4.查看当前系统中所有的数据库

SHOW DATABASES;

5.删除数据库

DROP DATABASE <database_name>;

6.使用数据库

USE <database_name>;

7.创建表

CREATE TABLE <table_name>(
        id    INT(11),
        name  VARCHAR(30),
        score INT(11)
);

8.查看表

SHOW TABLES;

9.使用主键约束

主键是用来连接其他表用的,主键约束要求主键列数据唯一,并且不为空。
9.1 主键为单字段

//方法一:
CREATE TABLE <table_name>(
        id    INT(11)        PRIMARY KEY,
        name  VARCHAR(30),
        score INT(11)
);
//方法二
CREATE TABLE <table_name>(
        id    INT(11),
        name  VARCHAR(30),
        score INT(11),
        PRIMARY KEY (id)
);

9.2 主键为多个字段

CREATE TABLE <table_name>(
        id    INT(11),
        name  VARCHAR(30),
        score INT(11),
        PRIMARY KEY (id, name)
);

10.使用外键约束

外键是用来连接其他表用的,可以是一列或者多列。一个表可以有一个或多个外键。外键对应的是参照完整性,一个表的外键可以是空值,如果不是空值,那就必须是另外一个表中主键的某个值。
表A的外键和表B的主键联合起来就使得表A和表B建立了联系。其中,表A就是从表,表B就是主表。

CONSTRAINT <外键名> FOREIGN KEY <本表字段名> REFERENCES <主表名> <主键字段名>
CREATE TABLE <table_name>(
        id    INT(11)    PRIMARY KEY,
        name  VARCHAR(30),
        score INT(11),
        st_id INT(11),
        CONSTRAINT fk_tb1_tb2 FOREIGN KEY (st_id) REFERENCES 主表名(id)
);

fk_tb1_tb2是外键约束的名称,st_id是从表外键名,id是主表的主键名。

11.使用非空约束

CREATE TABLE <table_name>(
        id    INT(11),
        name  VARCHAR(30)  NOT NULL,
        score INT(11),
        PRIMARY KEY (id, name)
);

12.使用唯一性约束

CREATE TABLE <table_name>(
        id    INT(11),
        name  VARCHAR(30)   UNIQUE,
        score INT(11),
        PRIMARY KEY (id, name)
);
CREATE TABLE <table_name>(
        id    INT(11),
        name  VARCHAR(30),
        score INT(11),
        CONSTRAINT STH UNIQUE(name)
);

UNIQUE和PRIMARY KEY的区别:一个表中可以有多个字段设置为UNIQUE,但最多只能有一个字段设置为主键;UNIQUE字段可以为NULL,主键字段不能为NULL。

13.使用默认约束

指定默认值。

CREATE TABLE <table_name>(
        id    INT(11),
        name  VARCHAR(30),
        score INT(11),
        gender VARCHAR(1)  DEFAULT "M"
        CONSTRAINT STH UNIQUE(name)
);

14.表的字段值自动增加

AUTO_INCREMENT关键字可以使字段值自动增加。一个表中只能有一个字段设置成此属性,并且此字段必须是主键或者是主键的一部分,被约束的字段的数据类型是任意整数类型。

CREATE TABLE <table_name>(
        id    INT(11)    PRIMARY KEY   AUTO_INCREMENT,
        name  VARCHAR(30),
        score INT(11)
);

15.查看表的基本结构

DESCRIBE 表名;
DESC 表名;
SHOW CREATE TABLE 表名\G;

16.修改表名

ALTER TABLE 旧表名 RENAME 新表名;

17.修改数据表中字段的数据类型

ALTER TABLE 表名 MODIFY 字段名  新数据类型;

18.修改字段名

ALTER TABLE 表名 CHANGE  旧字段名  新字段名  新数据类型;

19.在表中添加新字段

ALTER TABLE 表名  ADD  新字段名  新字段的数据类型;
ALTER TABLE 表名  ADD  新字段名  新字段的数据类型  NOT NULL;
ALTER TABLE 表名  ADD  新字段名  新字段的数据类型  FIRST;
ALTER TABLE 表名  ADD  新字段名  新字段的数据类型  AFTER  已存在的字段名;

20.删除字段

ALTER TABLE 表名 DROP 字段名;

21.修改字段在表中排列位置

使字段为表的第一个字段

ALTER TABLE 表名 MODIFY 字段名 字段类型 FIRST;

把字段放到指定字段之后

ALTER TABLE 表名 MODIFY 字段名 字段类型 AFTER 字段名;

22.更改表的存储引擎

ALTER TABLE 表名 ENGINE=更改后的存储引擎名;

23.删除表的外键约束

ALTER TABLE 表名 DROP FOREIGN KEY 外键约束名;

24.删除数据表

删除没有被关联的表:

DROP TABLE IF EXISTS 表1, 表2, ... 表n;

如果数据表之间存在外键关联的话,可以先删除从表,再删除主表;也可以先取消外键约束,再删除需要删除的表:

注意点1:

主键存在的意义是用于多个表之间进行连接操作,所以并不是每个表都必须有主键。

注意点2:

外键约束不能跨引擎使用。MySQL可以为每个表指定引擎,但是创建外键约束的两个表必须使用同一个引擎。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值