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 最基础命令总结(增删改)的主要内容,如果未能解决你的问题,请参考以下文章