创建和管理表(DDL)

目录

创建数据库

数据库的管理

修改数据库


创建数据库

1、创建数据库不指定字符集
CREATE DATABASE mytestdb;(使用默认的字符集)
2、创建数据库并指定字符集
CREATE DATABASE mytest2 CHARACTER SET 'gbk';
3、如果数据库不存在的话则直接创建,如果存在,创建不成功但不报错
CREATE DATABASE IF NOT EXISTS mytest2 CHARACTER SET 'utf8';

数据库的管理

1、查看当前连接中的数据库都有哪些
SHOW DATABASES;
2、切换数据库
USE mytest2;
3、查看当前数据库中有哪些表
SHOW TABLES;
4、查看当前使用的数据库
SELECT DATABASE() FROM DUAL;
5、查看指定数据库下存的表
SHOW TABLES FROM mysql;

修改数据库

(数据库是不能改名)
1、更改数据库的字符集
ALTER DATABASE mytest2 CHARACTER SET 'utf8';
2、删除数据库
DROP DATABASE mytest1;
推荐
DROP DATABASE IF EXISTS mytest1;

创建数据表


CREATE TABLE IF NOT EXISTS myemp1(
id INT,
emp_name VARCHAR(15),使用varchar来定义字符串,必须在使用varchar时指明长度
hire_date DATE 
);如果创建表时没有指明使用的字符集,则默认使用表所在数据库所用的字符集。

基于现有的表创建表
CREATE TABLE myemp2 AS  SELECT employee_id ,last_name,salary FROM employees;

练习
1.复制一张表,包括表数据
CREATE TABLE myemp3 AS SELECT * FROM myemp2;
复制一张表,不包含表数据
CREATE TABLE myemp4  AS SELECT * FROM myemp2 WHERE 1=2;


1、查看表结构
DESC myemo1;
SHOW CREATE TABLE myemp2;
SELECT * FROM myemp2;

2、修改表--》alter table
添加一个字段,
ALTER TABLE myemp1   ADD salary DOUBLE(10,2);(一共10位,小数位2位)默认加到表的最后一个字段

ALTER TABLE myemp1 ADD phone_number VARCHAR(20) FIRST;

ALTER TABLE myemp1 ADD email VARCHAR(45) AFTER emp_name; 
3、修改字段
ALTER TABLE myemp1
MODIFY emp_name VARCHAR(35) DEFAULT 'aaa';修改长度,并添加默认值
4、重命名字段
ALTER TABLE myemp1 CHANGE salary monthly_salary DOUBLE(8,2);
5、删除字段
ALTER  TABLE myemp1 DROP COLUMN email;
6、重命名表
RENAME TABLE myemp2 TO myemp22;(方式一)

ALTER TABLE myemp2  RENAME TO myemp22;(方式二)
7、删除表
DROP TABLE IF EXISTS myemp3;
8、清空表
TRUNCATE TABLE myemp1;


7DCL 中 commit和rollback
COMMIT 提交数据,一旦执行commit,则数据就被永久保存在数据库中,不能回滚rollback
8truncate table he delete from 
相同点:都可以实现对表中所有数据的删除,同时保留表结构

TRUNCATE TABLE 一旦执行操作,表数据全部清楚,同时,数据不能回滚
DELETE FROM  一旦执行此操作,表数据可以可全部清除(不带where)。同时数据是可以回滚,也可以不回滚
ddl 的操作一旦执行,就不可以回滚

dml的操作,默认情况下,一旦执行,也是不可以回滚,但是在执行dml之前执行了set atuocommit = FALSE ,则执行的dml操作就可以实现回滚

SHOW CREATE DATABASE mytest2
SHOW VARIABLES LIKE 'character_%'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值