Mysql笔记——DDL

时间:2021-04-30 14:27:56
数据库模式定义语言DDL(Data Definition Language),是用于描述数据库中要存储的现实世界实体的语言。一个数据库模式包含该数据库中所有实体的描述定义。
 
====================

1 基本操作

>查看所有数据库名称:SHOW DATABASES;

>切换数据库:USE mydb1,切换到mydb1数据库

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

2 操作数据库

> 创建数据库:CREATE DATABASE [IF NOT EXISTS] mydb1;

> 创建数据库,例如:CREATE DATABASE mydb1,创建一个名为mydb1的数据库。如果这个数据已经存在,那么会报错。例如:
    CREATE DATABASE IF NOT EXISTS mydb1;
    在名为mydb1的数据库不存在时创建该库,这样可以避免报错

> 删除数据库:DROP DATABASE [IF EXISTS] mydb1;

> 删除数据库,例如:DROP DATABASE mydb1,删除名为mydb1的数据库。如果这个数据库不存在,那么会报错。
    DROP DATABASE IF EXISTS mydb1;
    就算mydb1不存在,也不会的报错

> 修改数据库编码:ALTER DATABASE mydb1 CHARACTER SET utf8

> 修改数据库mydb1的编码为utf8。注意,在MySQL中所有的UTF-8编码都不能使用中间的“-”,即UTF-8要书写为UTF8

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

3 数据类型

>MySQL与Java一样,也有数据类型。MySQL中数据类型主要应用在列上

常用类型:

l  int:整型

l  double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99

l  decimal:泛型型,在表单钱方面使用该类型,因为不会出现精度缺失问题

l  char:固定长度字符串类型

l  varchar:可变长度字符串类型

l  text:字符串类型

l  blob:字节类型

l  date:日期类型,格式为:yyyy-MM-dd

l  time:时间类型,格式为:hh:mm:ss

l  timestamp:时间戳类型;

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

4 操作表

l  创建表:

CREATE TABLE 表名(

列名 列类型,

列名 列类型,

......

);

例如:

CREATE TABLE stu(

sid        CHAR(6),

sname      VARCHAR(20),

age            INT,

gender     VARCHAR(10)

);

再例如:

CREATE TABLE emp(

eid             CHAR(6),

ename     VARCHAR(50),

age            INT,

gender     VARCHAR(6),

birthday  DATE,

hiredate  DATE,

salary       DECIMAL(7,2),

resume    VARCHAR(1000)

);

l  查看当前数据库中所有表名称:SHOW TABLES;

l  查看指定表的创建语句:SHOW CREATE TABLE emp,查看emp表的创建语句

l  查看表结构:DESC emp,查看emp表结构

l  删除表:DROP TABLE emp,删除emp表

l  修改表:

>1. 修改之添加列:给stu表添加classname列:

ALTER TABLE stuADD (classname varchar(100));

>2. 修改之修改列类型:修改stu表的gender列类型为CHAR(2):

ALTER TABLE stuMODIFY gender CHAR(2);

>3. 修改之修改列名:修改stu表的gender列名为sex:

ALTER TABLE stuchange gender sex CHAR(2);

>4. 修改之删除列:删除stu表的classname列:

ALTER TABLE stuDROP classname;

>5. 修改之修改表名称:修改stu表名称为student:

ALTER TABLE stuRENAME TO student;