Linux系统Mysql数据库操作

#  默认储存引擎InnoDB,5.5之前是MyISAM

#  InnoDB具有事务,支持4个事务隔离级别,回滚,崩溃修复能力和多版本并发的事务安全,包括ACID。如果应用中需要执行大量的INSERT或UPDATE操作,则应该使用InnoDB,这样可以提高多用户并发操作的性能

# MyISAM管理非事务表。它提供高速存储和检索,以及全文搜索能力。如果应用中需要执行大量的SELECT查询,那么MyISAM是更好的选择

参考文章:https://blog.csdn.net/qq_27607965/article/details/79925288

#  链接数据库
mysql -uroot -pmysql  # root:用户名 mysql:密码

#  退出数据库
exit/quit/ctrl+d

#  sql语句最后需要有分号;结尾

#  显示数据库版本
select version();

#  显示当前时间
select now();

#  查看所有数据库
show databases;

#  使用数据库
use 数据库名;

#  创建数据库,不指定编码默认latin1,会导致中文问题
create database 数据库名 charset=utf-8

#  查看创建的数据库语法
show create database 数据库名

#  查看当前使用的数据库
select database();

#  删除数据
drop database 数据库名

#  假如数据库名:python-04 删除会报错,需要改成 `python-04` tab键上面

#  查看当前数据库所有的表
show tables;

#  创建表
create table students (
	id int unsigned not null auto_increment primary key,
	name varchar ( 30 ),
	age tinyint unsigned default 0,
	high decimal ( 5, 2 ),
	gender enum ( "男", "女", "中性", "保密" ) default "保密",
cls_id int unsigned
);

#  查看表结构
desc 表名;

#  查看表的创建语句
show create table 表名字;

#  插入表数据
insert into students values(0, '老王', 18, 188.8, "男", 0),
                           (0, '李华', 22, 164, "女", 0),
                           (0, '王五', 16, 172.5, "男", 0);  # 全字段插入


insert into students values(null, '老K', 18, 188.8, "男", 0);  # 主键自动生成1
insert into students values(default, '老B', 18, 188.8, "男", 0);  # 主键自动生成2
insert into students values(default, '老J', 18, 188.8, "未知", 0);  # 不在枚举选择里面,报错
insert into students values(default, '老J', 18, 188.8, 1, 0);  # 可以用1,2,3代替枚举里面的位置,1 -> 男
insert into students (name, gender) values('小乔',"男");  # 部分字段插入

#  查看数据
select * from students;

#  添加字段
alter table students add birthday datetime;

#  修改字段
alter table students modify birthday date;  #  修改数据类型
alter table students change birthday birth date default '1900-01-01';  #  修改字段名称和类型

#  删除字段
alter table students drop high;

#  删除表
drop table 表名

#  修改表数据
update 表名 set 字段 = xxx  where xxx ;

#  逻辑删除
alter table students add is_delete bit default 0;  
#  bit 类型只有0 或 1, CMD上看不到bit类型的值(1个字节才能看到,bit不够一个字节)
update students set is_delete = 1 where id = 6;

分页

select * from students limit 2;  # 前2个

select * from students order by age limit 2,2;  #  从第三个开始数前2个

# 分页/ 2个一页
select * from students limit 0,2;  # 第一页
select * from students limit 2,2;  # 第二页
select * from students limit 4,2;  # 第三页
select * from students limit 6,2;  # 第四页

ER模型

1对1  A或B任何一张表创建一个字段,存储对方的主键值

1对多  在多的那张表创建一个字段,存储对方的主键值

多对多  新建一张中间件,存储两张表的主键对应关系

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值