Linux系统Mysql数据库操作
程序员文章站
2022-05-27 13:26:22
...
# 默认储存引擎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); # 全字段插入
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, '*', 18, 188.8, "未知", 0); # 不在枚举选择里面,报错
insert into students values(default, '*', 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;
下一篇: 城市数据处理