2021-01-15 Mysql基础笔记

数据库操作

链接数据库

mysql -uroot -pmysql

退出数据库

exit

查看所有创建数据库

show databases;

查看当前正在使用的数据库

select database();

使用数据库

use 数据库名;

sql语句最后需要有;结尾
显示数据库版本

select version();

显示时间

select now();

创建数据库demo

create database demo;

指定字符集

create database demo charset=utf8;  #必须是utf8字符集

查看数据库的创建语句

show create database demo;

删除数据库

drop database demo;

数据表操作

查看当前数据库中所有表

show tables;

创建表
unsigned 表示没有符号,没有负数,
auto_increment表示自动增长
创建一个学生的数据表(id,name,age,high,gender,cls_id)
create table 数据表名字(字段 类型 约束[,字段 类型 约束]);
多个约束 不分先后顺序
enum 表示枚举
最后一个字段不用添加逗号

create table students(字段名 字段类型 字段约束);
create table students(
        id int unsigned primary key auto_increment,
        name varchar(15) not null,
        age tinyint unsigned default 0,
        high decimal(5,2) default 0.0,
        gender enum('男','女','中性','保密') default '保密',
        cls_id int unsigned not null
);

查看表的创建语句

show create table students;

查看表结构

desc students;

修改表结构 alter add/modify/change
修改表-添加字段

alter table 表名 add 列名 类型/约束;

例如:添加生日信息

alter table students add birthday datetime default "2011-11-11 11:11:11";

修改表-修改字段:不重命名版

alter table 表名 modify 列名 类型及约束;

例如:将生日信息里的时分秒去掉

alter table students modify birthday date default "2011-11-11";

修改表-修改字段:重命名版

alter table 表名 change 原列名 新列名 类型及约束;

例如:将生日birthday 改成birth

alter table students change birthday birth date default "2011-11-11";

修改表-删除字段

alter table students drop birth;

删除表

drop table students;

数据增删改查(curd)

增加 insert

insert [into] 表名 values (值1,值2,...);

全列插入 值和表的字段顺序一一对应
占位符:只有主键字段才有占位符的概念 0,default, NULL
全列插入在实际开发中用的不多 如果表结构一旦发生变化,全列茶入就会报错
例如:

insert into students values (0,'小乔', 18, 180.00, '女', 2);
insert into students values(default,'大乔', 19, 180.00, '女', 2);

指定列插入
值和列一一对应

insert into 表名 (列1,...) values (值1,...)

例如:

insert into students (name, high, gender cls_id) values ('张飞', 190.00, '保密', 1);

多行插入 批量插入

insert into 表名 (列1,...) values (值1,...), (值2,...),...;

例如:

insert into students values (0, '小乔', 18, 180.00, '女', 2),
(0, '甄姬', 20, 170.00, '女', 2);
insert into students (name, high, gender, cls_id) values ('张飞', 1900.00, '保密', 1),
('关羽', 1900.00, '男', 1);

修改 update
where 表示修改的范围

update 表名 set 列1=值1, 列2=值2... [where 条件]

没有where进行条件限制就是全表更新
例如:

update students set age = 20;

删除 delete
物理删除

delete from 表名 [where 条件判断]
delete from students where id = 5;

逻辑删除

查询基本使用select
查询所有列

select * from 表名;

你可能感兴趣的:(2021-01-15 Mysql基础笔记)