MYSQL的基本操作

MYSQL的基本操作

Scroll Down

MYSQL的基本命令

在这里插入图片描述

mysql常用命令

查看数据库

show databases ;

创建数据库

create database 数据库名;

删除数据(库中的表也一并删除)

drop database 数据库名; 

使用数据库(这条命令不加;也可以运行)

use 库名;

创建表的语法

create table 表名 (字段名称 数据类型 字段2 数据类型);

创建表实例

create table student
(
student_id int unsigend,
name varchar(30),
sex char(1),
birth date,
primary key(student_id)
); 

插入数据语法

insert into 表名 (字段1,字段2.。。。) values (值1,值2.。。。);

插入数据

insert into student(student_id,name,sex,birth) values
(1,‘make‘,’m‘,’1996-01-01‘);

查看当前库中有那些表

show tables;

查询表中的数据

select *|字段 from 表名;

查看student表中所以的信息

select * from student;

查询student表中name的信息

select name from student;

查询MySQL版本号

select version();

创建表的语法

CREATE TABLE <表名>

字段1 数据类型[完整性约束条件],
字段2 数据类型[完整性约束条件],
...
);
完整性约束条件 说明:
PRIMARY KEY 标识该属性为该表的主键,可以唯一地标识对应的数据
FORELGN KEY 标识该属性为该表的外键,是与之联系的某表的主键
NOT NULL 标识该属性不能为空值
UNIQUE 标识该属性的值是唯一的
DEFAULT 为该属性设置默认值
AUTO_INCREMENT 标识该属性值自动增加
创建主键的两种方式(一个表里面只能有一个主键 主键是唯一的)
1.标识写在我们规范的数据类型后面
主键语法:
字段名 数据类型 PRIMAPY KEY
2.在定义完所有列之后指定主键
主键语法:

字段名 数据类型;
PRMIMAPY (字段名)
);

多字段复合主键
当单个字段无法确认唯一值的时候,可以通过把多个字段设置为主键确保值的唯一性。

PRIMARP KEY [字段一,字段二,。。。]
CREATE TABLE biao
(
name VARCHAR(20),
age INT(11),
birth DATEEIME,
address VARCHAR(50),
PRIMARP KEY [字段一,字段二,。。。]
);

外键
外键用来在两个表之间建立连接。可以是一列或者是多列。
谁创建外键谁就是子表
语法:

[CONSTRAINT <外键名(我们要给外键取名字否则MySQL会自动取名字)>] FOREIGN KEY(字段1)[,字段2...] REFERENCES
<父表名>(主键列)[,主键列2...]

如果父表是复合主键 我们需要先关联第一个主键
关联的父表字段必须是父表主键
两个表关联的字段的数据类型需要一样
插入数据时 需要先将子表的关联外键键值进行插入到父表 子表才能插入成功
一个表可以有多个外键,多个表也可以关联一个表中的一个字段

非空约束 NOT NULL
代表设置为非空的列不能向这个列中插入空值
字段名 数据类型 NOT NULL
唯一性约束表示该字段值不能重复出现
[CONSTRAINT <约束名>] UNIQUE(字段1)
SHOW CREATE TABLE 表名\G:查看表的详细信息

默认值约束
在创建表的时候可以指定给一个字段设置默认值,如果插入数据时没有给设定默认值等等字段插入数据,那么数据库将自动给这个字段插入默认值。
语法
字段名 数据类型 default 默认的值
DESC 表名;:查看表结构(缩写)
DESCRIBE 表名; :查看表结构(全拼)
设置表属性自动增加
AUTO_INCREMENT,用来给新的记录生成唯一的ID使用的
字段名 数据类型 AUTO_INCREMENT;
要想给一个不为主键的字段添加属性自动增加 我们需要加上一个UNIQUE(唯一性约束)

清空表数据:
DELETE FROM 表名(清空表数据时不会释放表空间)清空后我们的表属性继续增加还是会接着增加
TRUNCATE TABLES 表名(清空表数据时清空表空间) 清空后我们的表属性继续增加会重新开始增加
创建表的时候修改存储引擎
创建表的括号后面加上ENGINE=存储引擎;之后进行回车
查看警告 (如果第一次敲错warnings 则无法查看 需要再次出现warning可进行查看)show warnings;
修改数据表
1.修改数据表名

ALTER TABLE <旧表名> RENAME [to] <新表名>;

2.修改数据类型

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

3.修改字段名

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

4.添加字段

ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] [FIRST|AFTER 已经存在的字段名];

5.修改字段的排列的位置

ALTER TABLE <表名> MODIFY <字段名> <数据类型> [FIRST|AFTER 已经存在的字段名];

6.删除字段

ALTER TABLE <表名> DROP 字段名;

7.更改表的存储引擎

ALTER TABLE <表名> ENGINE=要修改的引擎名;

8.删除数据表

DROP TABLE 表名;
DROP TABLE [IF EXISTS] 表1,表2...;如果存在则删除 否则不会报错(可以show warnings进行查看删除的详细信息)

9.删除外键约束

ALTER TABLE <表名> DROP FOREIGN KEY <外键名>;

10.删除主键

ALTER TABLE <表名> DROP PRIMARY KEY;

11.添加主键 不修改字段(也可以添加其他约束条件,不可以修改外键约束)

ALTER TABLE <表名> MODIFY <字段名> <数据类型> <完整性约束条件>;

12.添加外键约束条件 (可以添加所有的约束条件)

ALTER TABLE <表名> ADD <字段名> <数据类型> <外键的约束条件[CONSTRAINT <外键名(我们要给外键取名字否则MySQL会自动取名字)>] FOREIGN KEY(字段1)[,字段2...] REFERENCES
<父表名>(主键列)[,主键列2...]>;

13.修改约束条件

ALTER TABLE <表名> DROP KEY <字段名>;