MySQL数据库基础操作
- 数据处理分析
- 2024-01-08
- 42
一、数据库基础操作
1. 链接数据库
win10启动数据库
mysqld -install
net start mysql
2. 进入数据库
mysql -uroot -p123456
3. 退出数据库
exit/quit/ctrl+d
sql语句最后需要有分号结尾
二、数据库使用常用操作
常用语句:
显示数据库版本
select version();
显示时间
select now();
查看所有数据库
show databases;
创建数据库
create database `数据库名` charset=utf8;
查看创建数据库的语句
show create database `数据库名`;
查看当前使用的数据库名
select database();
使用数据库
use 数据库名;
删除数据库
drop database 数据库名;
显示数据库版本
select version();
显示时间
select now();
查看所有数据库
show databases;
创建数据库
create database `数据库名` charset=utf8;
查看创建数据库的语句
show create database `数据库名`;
查看当前使用的数据库名
select database();
使用数据库
use 数据库名;
删除数据库
drop database 数据库名;
三、数据表的操作
查看当前数据库中所有表
show tables;
创建表
create table post(id int, name varchar(30));
-- auto_increment表示自动增长
-- not null 表示不能为空
-- primary key 表示主键
-- default 默认值
create table 数据表名字 (字段 类型 约束[,字段 类型 约束]);
create table post1(id int primary key not null auto_increment, name varchar(30));
创建classes表(id name)
create table classes(
id int unsigned primary key not null auto_increment,
name varchar(30)
);
insert into classes values(0, "三班");
创建students表(id name age high gender cls_id)
create table students(
id int unsigned not null auto_increment primary key,
name varchar(30) default "",
age tinyint unsigned default 0,
height decimal(5,2),
gender enum("男", "女", "中性", "保密") default "保密",
cls_id int unsigned default 0,
is_delete bit default 0
);
表中插入数据
insert into students values(0, "小明", 18, 175.20, "男", 0);
查看表数据
select * from students;
查看表的创建语句
show create table 表名字;
show create table students;
查看表结构
desc 表名;
修改表结构
修改表结构-添加字段
alter table 表名 add 列名 类型;
alter table students add birthday datetime;
修改表结构-修改字段:不重命名版
alter table 表名 modify 列名 类型及约束;
alter table students modify birthday date;
修改表结构-修改字段:重命名版
alter table 表名 change 原名 新名 类型及约束;
alter table students change birthday birth date default "1990-01-01";
修改表结构-删除字段
alter table 表名 drop 列名
alter table students drop high;
删除表
drop table 表名
drop table post
四、增删改查(curd)
1. 增加
全列插入
insert [into] 表名 values(...)
主键字段 可以用 0 null default 来占位
向classes表中插入 一个班级
insert into classes values(0, "菜鸟班");
向students表插入 一个学生信息
insert into students values(0, "小张", 22, "男", 1, "1996-09-03");
insert into students values(null, "小张", 22, "男", 1, "1996-09-03");
insert into students values(default, "小张", 22, "男", 1, "1996-09-03");
枚举中的下标从1开始
insert into students values(default, "小张", 22, 2, 1, "1996-09-03");
部分插入
insert into 表名(列1, ...) values(值1, ...)
insert into students (name, gender) values("小李", 3);
多行插入
insert into students (name, gender) values("大李", 2),("小卢", 1);
insert into students values(default, "蛮王", 22, 1, 1, "1999-09-03"),(default, "寒冰", 22, 2, 1, "1996-09-03");
insert into students values (default, "vn", 22, 2, 1, "1999-09-03"), (default, "EZ", 22, 1, 1, "1993-09-03"), (default, "女枪", 22, 2, 1, "1994-09-03");
2. 修改
update 表名 set 列1=值1, 列2=值2... where 条件;
update students set gender=1; -- 全部都改 update students set gender=2 where id=9; update students set age=25, gender=2, cls_id=1 where id=5;
3. 删除
物理删除
delete from 表名 where 条件
delete from students; -- 清空数据表 delete from students where id=3;
逻辑删除
用一个字段来表示 这条信息是否已经不能再用了
给students表添加一个is_delete字段 bit 类型
alter table students add is_delete bit default 0; update students set is_delete=1 where id=6;
4. 查询基本使用
查询所有列
select * from 表名;
select * from students where id<6; select * from students where name="小李";
指定条件查询
select 列1, 列2,...from 表名;
select id, name, gender from students;
字段顺序
select gender as 性别, id as 序号, name as 姓名 from students;
select id as 序号, name as 姓名, age as 年龄 from students where gender=2;
可以使用as为字段或表指定别名
select 字段[as 别名] , 字段[as 别名] from 数据表 where ...;
select id as 序号, name as 姓名, gender as 性别 from students;
发表评论