MySQL 最基础命令总结(增删改)

Posted zzzketi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 最基础命令总结(增删改)相关的知识,希望对你有一定的参考价值。

mysql 最基础命令总结(增删改)

下文中所有 database_name 代表具体数据库名字,table_name 代表具体表的名字,column_name代表具体属性列(字段名)名字,column_type代表具体属性列类型。

mysql 中查看命令

-----查看所有数据库
show databases;		

-----查看所有数据表(使用前先 use database_name; 切换到具体的数据库中)
show tables;

-----查看数据表的结构
desc table_name;

-----查看表中所有数据
select * from table_name;


一、创建|删除数据库

1、新建|删除数据库

-----简单创建数据库
create database database_name;

-----创建数据库(修改编码格式,使其能识别中文)
create database database_name default charset=utf8;

-----删除数据库
drop database database_name;

2、新建|删除数据表

  • 新建数据表:
create table table_name(
  字段名称 数据类型 [约束],
  字段名称 数据类型 [约束],
  ...
);
-----primary key 设置主键 auto_increment 设置自增序号
-----not null 为非空约束
-----default ‘XXXX‘ 为设置默认值的约束
-----constraint...为设置属性列dep_id为外键,连接的是department表的id主键,外键名称为fk_1
-----若表中有外键,需先创建父表,并且外键与连接的父表的主键数据类型相同,确保外键创建成功

create table student(
id int(11) primary key auto_increment,
name varchar(20) not null,
sex varchar(4) not null,
birth date default ‘2000-01-01‘,
dep_id int(11) not null,
constraint fk_1 foreign key (dep_id) references department (id)
);

--创建完成后使用 desc student; 查看
mysql> desc student;
+--------+-------------+------+-----+------------+----------------+
| Field  | Type        | Null | Key | Default    | Extra          |
+--------+-------------+------+-----+------------+----------------+
| id     | int(11)     | NO   | PRI | NULL       | auto_increment |
| name   | varchar(20) | NO   |     | NULL       |                |
| sex    | varchar(4)  | NO   |     | NULL       |                |
| birth  | date        | YES  |     | 2000-01-01 |                |
| dep_id | int(11)     | NO   | MUL | NULL       |                |
+--------+-------------+------+-----+------------+----------------+
5 rows in set (0.00 sec)
  • 删除数据表:
drop table table_name;

3、向表中新增|删除数据

  • 新增数据
insert into table_name [(field1,field2,...,fieldn)]
values (value1,value2,...,valuen);
-----注意在输入最后的dep_id的值时,由于外键原因,只能输入department表中id属性列有的数值

insert into student (name,sex,birth,dep_id) 
values (‘张三‘,‘男‘,‘2001-09-08‘,1),(‘李清‘,‘女‘,default,3),(‘兰一‘,‘女‘,‘1998-11-13‘,3);

-----使用 select * from student 查看
mysql> select * from student;
+----+--------+-----+------------+--------+
| id | name   | sex | birth      | dep_id |
+----+--------+-----+------------+--------+
|  4 | 张三   | 男  | 2001-09-08 |      1 |
|  5 | 李清   | 女  | 2000-01-01 |      3 |
|  6 | 兰一   | 女  | 1998-11-13 |      3 |
+----+--------+-----+------------+--------+
3 rows in set (0.00 sec)

  • 删除数据
------where 后加需要删除的属性列对应的行
------语句简单,不再举例
delete from table_name [where condition];


二、更改数据表

修改表(alter)

------更改表名
alter table table_name1 rename to table_name2;

------在表中增添属性列
------first|after设置新增的属性列位置,first;第一列;after xxx:在xxx列之后
alter table table_name 
add column_name1 [first|after column_name2];

------在表中删除属性列
alter table table_name drop column_name;

------修改属性列类型
alter table table_name 
modify colunm_name 
column_type;

------修改属性列类型与名称,clounm_nameOld为旧的属性列名,clounm_nameNew为新属性列名。
alter table table_name 
change clounm_nameOld clounm_nameNew 
column_type;

------修改属性列默认值
alter table table_name 
alter culumn_name 
set default xxx;

------删除属性列默认值
alter table table_name 
alter culumn_name 
drop default;
------删除外键约束:keyName是外键名
alter table tableName drop foreign key keyName;


修改或更新数据(update)

update table_name set culunm_name=xxx [WHERE Clause];
  • 示例:
------原数据表
select * from student;
+----+--------+-----+------------+--------+------+
| id | name   | sex | birth      | dep_id | tel  |
+----+--------+-----+------------+--------+------+
|  4 | 张三   | 男  | 2001-09-08 |      1 | NULL |
|  5 | 李清   | 女  | 2000-01-01 |      3 | NULL |
|  6 | 兰一   | 女  | 1998-11-13 |      3 | NULL |
+----+--------+-----+------------+--------+------+
3 rows in set (0.00 sec)

update student set sex=‘男‘ where name=‘兰一‘;

------结果
select * from student;
+----+--------+-----+------------+--------+------+
| id | name   | sex | birth      | dep_id | tel  |
+----+--------+-----+------------+--------+------+
|  4 | 张三   | 男  | 2001-09-08 |      1 | NULL |
|  5 | 李清   | 女  | 2000-01-01 |      3 | NULL |
|  6 | 兰一   | 男  | 1998-11-13 |      3 | NULL |
+----+--------+-----+------------+--------+------+
3 rows in set (0.00 sec)

以上是关于MySQL 最基础命令总结(增删改)的主要内容,如果未能解决你的问题,请参考以下文章

MySQL之增删改查

MySQL增删改查

MySQL增删改查

Mysql的基本操作(增删改查)

MySQL增删改查基础知识

MySQL数据库增删改查等常用命令介绍