MySQL数据库基本操作

MySQL 服务器管理操作

# 安装mysql服务器
sudo apt-get install mysql-server

# 获取mysql服务器状态
ps aux | grep mysql
sudo service mysql status

# mysql服务器重启/启动/关闭
sudo service mysql restart/start/stop

# 安装图形界面客户端 
sudo apt-get install mysql-client

# 登录 mysql服务器
mysql -u用户名 -p密码  # 会被history记录,不建议使用
mysql -u用户名 -p 

# 登出
quit/exit/Ctrl + d

 MySQL数据库基本操作

-- 展示当前系统中所有的数据库
show databases;

-- 切换到指定数据库使用
use 数据库名;

-- 查看当前正在使用的数据库
select database();

-- 展示创建数据的细节 - SQL
show create database 数据库名;

-- 创建数据库
create database 数据库名 charset=utf8;  --创建数据库时 一定要指定字符集 否则可能造成插入数据失败

-- 删除数据 慎重
drop database 数据库名;

表结构的基本操作-增删改查

增:create table ...(...)
删:drop table ...
改:alter table ... add/modify/change/drop ...
查:desc ...

-- 展示当前数据库的所有表
show tables;

-- 展示创建表的 SQL 语句
show create table 表名;

-- 查看表的表结构(描述)
desc 表名;

-- 创建表结构  create table 表名(字段名 类型 [约束],...);
mysql> create table students(
    -> id int unsigned primary key not null auto_increment,
    -> name varchar(64) not null,
    -> age tinyint unsigned default 0,
    -> height decimal(5,2),
    -> gender enum('','','保密','未知'));

-- 修改表结构 (如果表中已经有内容了,一定要加default)
alter 表名table add 字段名Field 数据类型Type 约束Null,Key,Default,Extra;  -- 往表中添加字段 
alter table students add birthday datetime not null; -- 往students表中添加birthday字段
alter table students modify 字段名 新类型 新约束; -- 修改birthday字段的类型和约束
alter table students change 原名称 新名称 新类型 新约束; -- 修改字段的名字
alter table students drop 字段名称; -- 删除字段

-- 删除表 删除表结构和表数据
drop table 名称;

表内容的基本操作-增删改查

增:insert into ... values (...)
删:delete from ...
改:update ... set ...where
查:select ... from ...

-- 查询 select 如果需要查看表中所有字段 使用* 表示所有字段
select 字段名1,23... from 表名;
select * from students;

-- 添加 insert into 表名 (字段名1,2,3,4..) values (值1,2,3,4..),(一行数据)  
insert into students (id,name,age,height,gender) values (0,'Tom',18,172.00,'');
insert into students (id,name,age,height,gender) values (0,'Tom2',19,173.00,''),(0,'jerry',19,160.00,'');

-- 全列插入 如果插入的 所有字段 和 表中字段的顺序 数量 完全一致 可将字段元组省略(即使字段有默认值也要写上)
insert into students values (0,'Tom2',19,173.00,''),(0,'jerry',19,160.00,'');

-- 部分列插入 插入数据的数量或者顺序不是和表中完全一样 
insert into students (name) values ('老王'),('老宋');
-- 更新
update 表名 set 字段名=值,字段2=值2 where 条件; update students set age=119 where id = 4; -- 删除 delete from 表名 where 条件; delete from 表名; --清空表数据 表结构还在
原文地址:https://www.cnblogs.com/sablier/p/10654147.html