avatar

数据库操作-DDL

DDL

DDL(Data Definition Language)是连接存储世界与现实世界的高铁!

主要用途:

对数据库对象进行创建、修改、删除等操作。

操作对象:

数据库、数据表、列、索引等。

定义命令:

  • CREATE:创建数据库或表的命令。
  • DROP:删除已建数据库或表。
  • ALTER: 添加、修改或删除列,更新表名,字段类型等

数据库操作

1、创建数据库

1
2
-- IF NOT EXISTS --- 不存在则创建,存在则不创建
CREATE DATABASE IF NOT EXISTS DataScience;

2、删除数据库

1
2
3
4
5
1、查看所有数据库
SHOW DATABASES;

2、删除指定数据库
DROP DATABASE IF EXISTS DataScience;

3、修改数据库字符集

1
2
3
4
5
1、查看数据库字符集
SHOW VARIABLES LIKE'character_set_database';

2、修改数据库字符集
ALTER DATABASE DataScience character SET 'gbk';

image-20200421154433187

4、进入数据库

1
2
3
4
5
USE DataSciecne;

mysql> use
-> datascience;
Query OK, 0 rows affected (0.00 sec)

数据表操作

1、创建表

语法

1
2
3
4
5
6
7
8
CREATE TABLE tab_name(
list_name1 type[len],
list_name2 type[len],
......
list_nameN type[len])
PRIMARY KEY (`id`)
[ ENGINE=InnoDB #存储引擎
DEFAULT CHARSET=utf8]; #字符集

创建用户表

1
2
3
4
5
6
7
CREATE TABLE FansUser(
user_id int not null comment '用户ID',
user_name varchar(30) not null comment '名称',
age int,
tel int not null comment '电话',
sex bit default 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

image-20200421162611901

2、删除表

1
2
3
4
1、查看目前所有数据表
SHOW TABLES;
1、删除指定数据表
DROP TABLE IF EXISTS FansUser;

3、修改表

3.0、表名

1
2
3
4
5
alter table FansUser rename FansUser1; --修改表名 

ALTER TABLE FansUser RENAME User;
||
ALTER TABLE User RENAME To FansUser;

3.1、列名

1
2
3
ALTER TABLE FansUser CHANGE COLUMN old_column_name new_column_name varchar(30);--修改表列名

ALTER TABLE User change COLUMN sex status bit(1);

3.2、列的类型和约束

1
2
3
alter table User modify status char(10) --修改表列类型 

alter table User change status sex bit(1) -- 修改类型及列名

修改表

3.3、新增列

注意:添加新列如无特殊约束条件,则默认添加到最后一列;如果添加到指定位置,则需要注意约束条件的正确使用。

  • FIRST 表示添加到列表的第一列
  • AFTER 表示添加到某个列之后
1
2
3
4
5
-- 指定位置
ALTER TABLE user ADD COLUMN remove bit(1) AFTER age;

-- 默认添加
alter table user add column name1 varchar(10); --添加表列

添加列

3.4、删除列

1
ALTER  TABLE user DROP COLUMN name1;

4、复制表

user 表存在,user1 不存在。

4.0、结构

1
2
3
4
5
6
7
8
9
-- 要复制的表 在后边。  
# like 只是复制表结构
CREATE TABLE user1 LIKE user;
||

-- 通过关键字as
create table user1 as select * from user limit 0 ;
||
create table user1 select * from user limit 0;

4.1、数据及内容

1
2
--通过关键字as通过复制另一张表的表结构和数据创建新表
create table user1 as select * from user;

4.2、部分数据

1
2
# 根据条件创建表,并且将查询出来得数,存入表中
create table user1 as selecet * from user where age<25;

4.3、部分字段

1
2
# 查询部分字段数据
create table user1 as select age,name form user;
文章作者: JackFeng
文章链接: https://minesql.github.io/posts/b794162c.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 SQL社区
打赏
  • 微信
    微信
  • 支付宝
    支付宝

评论