mysql 数据库操作

发布于:2023-01-04 ⋅ 阅读:(228) ⋅ 点赞:(0)

DDL数据库操作

目录

DDL数据库操作

查询所有的数据库

1.查询当前数据库

2.创建数据库

3.删除数据库

4.使用数据库

2.DDL表操作

1.查询当前数据库所有表

2.查询表结构

3.查询指定表的建表语法句

3.DDL表操作-数据类型

数值类型:

字符串类型:

日期类型:

4.DDL - 表操作 - 修改

添加字段:

修改数据类型:

修改字段名和字段类型:

删除字段:

删除表

删除指定表,并重新创建该表


查询所有的数据库

show  databases;

1.查询当前数据库

select database();

2.创建数据库

create database  数据库名字;

create database if not exists 数据库名字; [如果不存在这个数据库就创建,如果存在就不执行]

3.删除数据库

drop database 数据库名字;

drop databaste if exists 数据库名字;[如果不存在这个数据库就删除,如果存在就不执行] 

4.使用数据库

use 数据库名字;

2.DDL表操作

1.查询当前数据库所有表

show tables;

2.查询表结构

desc 表名;

3.查询指定表的建表语法句

show create table 表名;

3.DDL表操作-数据类型

mysql中的数据类型有很多,主要分为三类:数值类型,字符串类型,日期时间类型。

数值类型:

类型 大小 有符号(SIGNED) 无符号(UNSIGNED) 描述
tinyint 1 byte (-128,127) (0,255) 小整数值
smalltnt 2 bytes (-32768,32767) (0,65535) 大整数值
mediumtnt 3 bytes (-8388608,8388607) (0,16777215) 大整数值
int或integer 4 bytes (-2147483648,2147483647) (0,2^64-1) 大整数值
BIGINT 8 bytes / / 极大整数值
FLOAT 4 bytes / / 单精度浮点数值
DOUBLE 8 bytes / / 双精度浮点数值

字符串类型:

类型 大小 描述
char 0-255 bytes 定长字符串
varchar 0-65535 bytes 变长字符串
tinyblob 0 -255 bytes 不超过255个字符的二进制数据
tinytext 0-255 bytes 短文本字符串
blob 0-65 535 bytes 二进制形式的长文本数据
text 长文本数据
mediumblob 二进制形式的中等长度文本数据
mediumtext 中等长度文本数据
longblob 二进制形式的极大文本数据
longtext 极大文本数据

日期类型:

类型 大小 范围 格式 描述
DATE 3 1000-01-01 至 9999-12-31 YYYY-MM-DD 日期值
TIME 3 -838:59:59 至 838:59:59 HH:MM:SS 时间值
YEAR 1 1901 至 2155 YYYY 年份值
DATETIME 8 1000 -01-01 00:00:00 至 ~ / 混合日期和时间值
TIMESTAMP 4 1970 -01-01 00:00:00:00 至2038 / 时间戳

案例:设计一张员工信息表,要求如下:

1.编号(纯数字)

2.员工工号(字符串类型,长度不超过10位)

3.员工姓名(字符串类型,长度不超过10位)

4.性别(男/女,存储一个汉字)

5.年龄(正常人年龄,不可能为负数)

6.身份证号(18位,身份证号有X字符)

7.入职时间(取年月日即可)

mysql> create table emp(
    -> id int comment '编号',
    -> workon varchar(10) comment'工号',
    -> name varchar(10) comment'姓名',
    -> gender char(1)  comment'性别',
    -> age tinyint unsigned comment '年龄',
    -> idcard char(18) comment '身份证号',
    -> entrydate date comment '入职时间'
    -> ) comment '员工信息表' ;
Query OK, 0 rows affected (0.02 sec)

4.DDL - 表操作 - 修改

添加字段:

ALTER TABLE 表名 ADD 字段名 类型(长度)[COMMENT 注释] [约束] ;

案例:为emp表增加一个新的字段“昵称”为nickname,类型为varchar(20)

mysql> alter table employee add nickname varchar(20) comment '昵称';
Query OK, 0 rows affected (0.04 sec)
Records: 0  Duplicates: 0  Warnings: 0

修改数据类型:

ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);

修改字段名和字段类型:

ALTER TABLE 表明 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];

案例:将emp表的nickname字段修改为username,类型为varchar(30)

mysql> alter table employee change nickname username varchar(30) comment '用户名';
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0

删除字段:

ALTER TABLE 表名 DROP 字段名;

案例:将emp表的字段username删除

mysql> alter table employee drop username;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

修改表名

ALTER TABLE 表名 RENAME TO 新表名;

案例:将emp表名修改为 employee

mysql> alter table emp rename employee;
Query OK, 0 rows affected (0.01 sec)

删除表

DROP TABLE [ IF EXISTS] 表名;

删除指定表,并重新创建该表

TRUNCATE TABLE 表名;

注意:在删除表时,表中的全部数据也会被删除。


网站公告

今日签到

点亮在社区的每一天
去签到