千家信息网

Linux_MySQL(mariadb)数据库上(3)

发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,服务器端命令:DDL:数据定义语言,主要用于管理数据库组件,例如表、索引、视图、用户、存储过程CREATE、ALTER、DROPDML:数据操纵语言,主要用管理表中的数据,实现数据的增、删、改、查;I
千家信息网最后更新 2024年11月27日Linux_MySQL(mariadb)数据库上(3)

服务器端命令:

DDL:数据定义语言,主要用于管理数据库组件,例如表、索引、视图、用户、存储过程

CREATE、ALTER、DROP

DML:数据操纵语言,主要用管理表中的数据,实现数据的增、删、改、查;

INSERT, DELETE, UPDATE, SELECT

获取命令帮助:

mysql> help KEYWORD

数据库管理:

创建:CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name;

[DEFAULT] CHARACTER SET [=] charset_name 设置字符集

[DEFAULT] COLLATE [=] collation_name 排序规则

例:CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

查看支持的所有字符集:SHOW CHARACTER SET

查看支持的所有排序规则:SHOW COLLATION

修改:

ALTER {DATABASE | SCHEMA} [db_name]

[DEFAULT] CHARACTER SET [=] charset_name

[DEFAULT] COLLATE [=] collation_name

删除:

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

表管理:

创建:

CREATE TABLE [IF NOT EXISTS] tbl_name (create_defination表定义) [table_options]

create_defination:

字段:col_name data_type

键:

PRIMARY KEY (col1, col2, ...) 主键约束

UNIQUE KEY (col1, col2,...) 唯一键约束

FOREIGN KEY (column) 外键约束

索引:

KEY|INDEX [index_name] (col1, col2,...)

: CREATE TABLE students(id INT UNSIGNED NOT NULL,name CHAR(30) NOT NULL,age TINYINT UNSIGNED,gender ENUM('f','m') );

创建 表 学生 (id 整数型 无符号 不为空,姓名 字符型(30) 不为空,年龄 小整型 无符号,性别 枚举('f','m'));

UNSIGNED 必须跟在字符型之后 其他次序无所谓

查看数据库支持的所有存储引擎类型:

mysql> SHOW ENGINES;

查看某表的存储引擎类型:

mysql> SHOW TABLES STATUS [LIKE 'tbl_name']

table_options:

ENGINE [=] engine_name 存储引擎类型

修改:

ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name [alter_specification [, alter_specification] ...] alter_specification: 字段或属性

字段:

添加:ADD [COLUMN]字段名 col_name data_type [FIRST | AFTER col_name ]放置位置

删除:DROP [COLUMN] col_name

例:ALTER TABLE student DROP class;

修改:

CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST|AFTER col_name]

改名字和字段名

MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name]

改字段定义(只要不改名字都可用)

例: ALTER TABLE student MODIFY calss VARCHAR(100) AFTER age;

键:

添加:ADD {PRIMARY|UNIQUE|FOREIGN} KEY (col1, col2,...)

例:ALTER TABLE student ADD UNIQUE KEY (name); 添加唯一键 (NULL不为空时自动转换成主键)

删除:

主键:DROP PRIMARY KEY

外键:DROP FOREIGN KEY fk_symbol

索引:

添加:ADD {INDEX|KEY} [index_name] (col1, col2,...)

例:ALTER TABLE student ADD INDEX index_calss (class); index_name为自己起的名字

删除:DROP {INDEX|KEY} index_name

例:ALTER TABLE student DROP INDEX name;

表选项:

ENGINE [=] engine_name

查看表上的索引的信息:

mysql> SHOW INDEXES FROM tbl_name;

删除

DROP TABLE [IF EXISTS] tbl_name [, tbl_name] ...

表的引用方式:

tbl_name 相当于相对路径 必须指定当前表(USE db_name;)

db_name.tbl_name 相当于绝对路径


0