MySQL基础数据操作(一):库与表操作

MySQL基础数据操作

  • 数据库基础

    • SQL(Structured Query Language):结构化查询语言
      • DDL (Data Definition Language) :数据定义语言
        • create / drop / alter
      • DML (Data Manpulation Language) :数据操作语言
        • insert / delete / update
        • DQL - select
      • DCL (Data Control Language) :数据控制语言
        • revoke / grant
    • 数据库连接
      • mysql -h127.0.0.1 -P3306 -uroot -p
      • exit / quit / \q
    • 数据库对象
      • DBMS - mysqld : 数据库管理系统
      • DB :数据库
      • Table : 表
      • Field : 字段

====================================

  • 对数据库的操作

数据库操作-新增数据库

create database 数据库名称 [库选项]  / create schema 数据库名称 [库选项]
	库选项: 
		字符集设定-charset
		校对集设定-collate
  1. mysql中的sql语句
-- 创建一个数据库 mybase
create database mybase charset utf8;
-- 如果使用了关键字命名,需要用键盘左上角的引号-反引号进行标注
create schema `database` charset utf8;
-- 可以使用中文命名数据库
create schema 我的数据库 charset utf8;
  1. 查看数据库文件 - 每个数据库文件夹下面都存在一个opt文件

  2. 查看数据库文件存储路径

	show variables like '%datadir%';
	show global variables like '%datadir%';

数据库操作-查看数据库

查看数据库列表
show databases;
过滤查找数据库
	show databases like 'datab_%';     
	-- database, datab_base 
	show databases like 'datab\\_%';    
	-- datab_base
查看数据库建库语句
show create database 'database name';
-- 'mybase', 'CREATE DATABASE `mybase`  /*!40100 DEFAULT CHARACTER SET latin1 */'

数据库操作-更新数据库

数据库名字是不可修改项

仅能修改数据库的库选项,即 字符集和校对集(校对集依赖于字符集)

语句

alter database 数据库名字 [库选项]

alter database 'mybase' charset utf8; 

数据库操作-删除数据库

删除数据库语句
drop database 数据库名称
删除数据库需要注意
删除不可逆,必要时要提前做好备份
对应的数据库文件也会进行级联删除

====================================

  • 对表相关的操作

表操作-新增数据表

新增数据表(建表)语句

create table (if not exists) 表名 (
字段名 数据类型,
字段名 数据类型
)[表选项];

CREATE TABLE if not exists `mybase`.`test_create_table` (
 `primaryId` INT UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
   `column1` VARCHAR(45) BINARY NOT NULL DEFAULT 'true' COMMENT '备注',
PRIMARY KEY (`primaryId`),
UNIQUE INDEX `primaryId_UNIQUE` (`primaryId` ASC))
Engine=InnoDB
default charset=utf8
collate=utf8_bin
auto_increment=1001
comment='验证建表语句';
MySQL建表时的选项说明
  PK: Primary Key 主键标识
  NN: Not Null 非空标识
  UQ: Unique Index 唯一性索引
  B:Is Binary Column 存放二进制数据的列,如blob
  UN:UNsigned 无符号整数
  ZF: Zero Fill 不足位补0
  AI:Auto Increment 自增
  G: Generated Column 生成列,一般为虚拟列或是计算列
  Default/Expression:生成列的表达式,否则必须为default

表操作-查看表

查看建表语句
show create table mybase.test_create_table;
查看表结构
desc mybase.test_create_table;
show columns from mybase.test_create_table;
查看所有表
show tables;
show tables like '%a%';

表操作-更新表

更新表名字

rename table from 原表名 to 新表名

-- 将表名更新为test_table;
rename table mybase.test_create_table to mybase.test_table;
更新表选项

alter table 表名 表选项(=)值

-- 更新表的字符集为utf8
alter table mybase.test_table charset=utf8;
-- 更新表的引擎为InnoDB
alter table mybase.test_table engine=MyISAM;
-- 更新字符集等值时会影响该表的所有数据,若是大表,需注意性能问题
更新表结构

在修改或更新表结构时,需要考虑到性能问题,这是必须要关注的

添加一个表字段

  alter table 表名 add column 字段名	数据类型 [列选项] 位置
-- 给表mybase.test_table在column1字段后面添加一个字段column2,并且不能为空,默认值为“Yes”
alter table mybase.test_table add columm column2 varchar(40) not null default 'Yes' after column1;
-- 查看表结构
show columns from mybase.test_table;

修改一个表字段

  alter table 表名 modify 字段名 数据类型 [列选项]  [位置]
-- 将表mybase.test_table的column2字段,修改为时间类型,默认为当前时间
alter table mybase.test_table modify column2 datetime not null default current_timestamp comment '修改表字段数据类型';
-- 使用change column 实现同样的功能
alter table mybase.test_table change column column2 column2 datetime not null default current_timestamp comment '修改表字段数据类型';
-- 修改表字段的位置
alter table mybase.test_table modify column2 datetime comment '修改表字段位置啦' after primaryId;

删除一个表字段

  删除字段名后,该列的所有数据也会被删除,而且是不可逆的
  alter table 表名 drop 字段名
-- 删除表mybase.test_table的column2这个字段
alter table mybase.test_table drop column2;
-- 查看表结构
show columns from mybase.test_table;

重命名一个表字段

  alter table  表名 change column 原字段名 新字段名 数据类型
	alter table mybase.test_table change column column1 column_1 varchar(45);
表操作-删除表

删除表后,表空间中不会再存在该表对应的文件,该表的数据也会被清空,而且不可逆

  drop table 表名
-- 删除一张表
drop table mybase.test_table;
-- 删除多张表
drop table mybase.test_table1,mybase.test_table2;
-- 可以进行跨库删表
drop table mybase1.test_table,mybase.test_table;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值