4、SQL语言(2)

时间:2022-04-16 00:42:41
管理数据库
创建数据库
CREATE DATABASE|SCHEMA [IF NOT EXISTS] 'DB_NAME'
CHARACTER SET 'character set name'
COLLATE 'collate name';

查看数据设置的的字符集
use testdb;
select @@character_set_database;
SELECT @@collation_database;
或者查看数据库路径的opt文件
cat /data/mysql/testdb/db.opt

4、SQL语言(2)

4、SQL语言(2)

4、SQL语言(2)

4、SQL语言(2)

4、SQL语言(2)

4、SQL语言(2)

删除数据库
DROP DATABASE|SCHEMA [IF EXISTS] 'DB_NAME';

4、SQL语言(2)

4、SQL语言(2)

4、SQL语言(2)

4、SQL语言(2)

查看数据库列表和创建过程
show databases;
show create database testdb;

4、SQL语言(2)

4、SQL语言(2)

DDL语言

CREATE:用于创建数据库和表、视图、索引等对象。

ALTER:用于修改数据库对象的结构,如修改表结构、列名、列类型等。

DROP:用于删除数据库对象。

TRUNCATE:用于删除表中的所有数据,但保留表结构。

RENAME:用于重命名数据库对象。

COMMENT:用于添加注释。

创建表
create table;
help create tabl
create table [if not exists] 'tbl_name' (col type1 修饰符, col2 type2 修饰符,...)
#字段信息
col type1
PRIMARY KEY(col1,...)
INDEX(col1, ...)
UNIQUE KEY(col1, ...)
#表选项:
ENGINE [=] engine_name
ROW_FORMAT [=] {DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT}
注意:
Storage Engine是指表类型,也即在表创建时指明其使用的存储引擎
同一库中不同表可以使用不同的存储引擎
同一个库中表建议要使用同一种存储引擎类型

4、SQL语言(2)

4、SQL语言(2)

4、SQL语言(2)

4、SQL语言(2)

auto_increment 属性

4、SQL语言(2)

4、SQL语言(2)

通过表查询创建现有表

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)]
[table_options]
[partition_options] select_statement

4、SQL语言(2)

通过复制现存的表的表结构创建,但不复制数据

4、SQL语言(2)

查看表

查看支持的engine类型

SHOW ENGINES;

4、SQL语言(2)

查看表:

SHOW TABLES [FROM db_name]

4、SQL语言(2)

查看表结构

4、SQL语言(2)

查看表创建命令:

show create table tb1_

4、SQL语言(2)

查看表状态

show table status like ‘students’\G
SHOW TABLE STATUS FROM db_name

4、SQL语言(2)

4、SQL语言(2)

修改和删除表
ALTER TABLE 'tbl_name'
#字段:
#添加字段:add
ADD col1 data_type [FIRST|AFTER col_name]
#删除字段:drop
#修改字段:
alter(默认值), change(字段名), modify(字段属性)
ALTER TABLE students RENAME s1;
ALTER TABLE s1 ADD phone varchar(11) AFTER name;
ALTER TABLE s1 MODIFY phone int;
ALTER TABLE s1 CHANGE COLUMN phone mobile char(11);
ALTER TABLE s1 DROP COLUMN mobile;
ALTER TABLE s1 character set utf8;
ALTER TABLE s1 change name name varchar(20) character set utf8;
ALTER TABLE students ADD gender ENUM('m','f');
ALETR TABLE students CHANGE id sid int UNSIGNED NOT NULL PRIMARY KEY;
ALTER TABLE students DROP age;
DESC students;

4、SQL语言(2)

4、SQL语言(2)

4、SQL语言(2)

4、SQL语言(2)

4、SQL语言(2)