码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2020-07-18 00:45:09      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:基础命令   alt   into   完成后   rom   默认   extra   databases   first   

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 最基础命令总结(增删改)

标签:基础命令   alt   into   完成后   rom   默认   extra   databases   first   

原文地址:https://www.cnblogs.com/zzzketi/p/13333919.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!