1、创建数据库
create database if not exists 数据库名称;
if not exists:判断数据库是否存在,存在就不创建,不存在就执行create database,也可以不使用if not exists,则会直接创建
2、修改数据库

3、删除数据库
drop database if exists 数据库名称;

4、查看所有数据库
show databases;
5、选中当数据库
use 数据库名称;
6、查看选中数据库下的所有的表名称
show tables;
7、创建数据表,下面是实例
create table if not exists demo1(
id int not null auto_increment,
name varchar(10) not null,
age int not null,
sex varchar(10) not null,
primary key(id)
)engine=innodb charset=utf8;
或者
create table if not exists demo1(
id int not null auto_increment primary key,
name varchar(10) not null,
age int not null,
sex varchar(10) not null
);
实例解析
- 如果不想字段为null,那么就可以输入not null,此时如果输入为null则会报错
- auto_increment定义列为自增的属性,一般用于主键,数值会加一
- primary key关键字用于定义列为主键,你可以使用多列定义为主键,列间以逗号分隔
- engine设置存储引擎,charset设置编码
8、复制现成的表
create table [if not exists] 表名
[like 已有表名]
|[as 复制 表记录];
- like关键字后面表名应该已经存在
-
as后为可以复制表的内容,例如,可以是一条select语句,select语句为查询表记录
image.png
9、修改表
1、 修改修改表的结构
alter table 表名
add 列定义 [first | after 列名]
| modify 列定义
| alter 列名{set default 值 | drop default}
| change 列名 原列名
| drop 列名
| rename [to] 新列名
- add子句:向列表中增加新列
alter table demo3 add column tel varchar(20) not null;
- modify子句:修改指定列的数据类型
alter table demo3 modify tel int not null;
- alter子句:修改表中指定列的默认值,或者删除列的默认值
- change子句:修改列的名称
- drop子句:删除列或约束
- rename子句:修改表名称
rename table 原表名 to 新表名;
rename table 原表名 to 新表名 , 原表名2 to 新表名2;
10、删除表
drop table if exists demo3;
11、数据的添加
insert [into] 表名
[(列名,...)] values ({expr | default},...)
| set 列名 = {expr | default},...
insert into demo4 values(1,"081101","王玲","计算机","女","2018-1-1","50",null,null);
//或
insert into demo4(学号,姓名,专业名,性别,出身日期,总学分)values("081101","王玲","计算机","女","2018-1-1","50");
//或
insert into demo4 set 学号="081101",姓名="王玲",专业名="计算机",性别="女",出身日期="2019-1-1",总学分="50";

- 从已有表中插入新记录
insert into demo2 select * from demo1;
- 插入如片
mysql支持图片的插入,图片可以以存储路径的形式存储,也可以存储图片本身,只要用load_file函数即可,用byte类型存储
insert into poto values(load_file("E:\Download\img.png"));
12、命令说明
- 在描述命令格式时,用[]表示可选项
- MySQL命令不区分大小写
-
命令关键字可以只写前面4个字符describe demo1;和esc demo1;的效果是一样的
image.png
- 修改命令结束符号
例如将mysql结束符修改为两个斜杠的符号
//修改为双斜杠
delimiter //
//恢复成使用";"作为结束符
opdelimiter ;
13、修改记录
update demo4 set 总学分 = "90" where 学号="081101";
//修改多个表
update demo1,demo2 set demo1.name = "吉娜" ,demo2.name = "阿克" where demo1.id = demo2.id;
14、删除记录
delete from demo1 where id=1;
//删除多个
//删除demo1中id值等于demo的id的值的所有行和demo2中id值等于demo的id值的所有行,使用语句
delete demo1,demo2
from demo1,demo2,demo
where demo1.id = demo.id and demo2.id = demo.id;
//清除表中的全部数据,且无法恢复
truncate table demo3;
网友评论