MYSQL操作之DDL
程序员文章站
2024-03-17 18:06:10
...
数据定义语言,用来定义数据库对象:库、表、列等;
使用关键字:CREATE、 ALTER、DROP
一.操作数据库(DDL)
1.创建数据库
语法:CREATE DATABASE 数据库名
例:
CREATE DATABASE mydb1;(常用)
CREATE DATABASE mydb2 CHARACTER SET utf8; --指定字符集
CREATE DATABASE mydb3 CHARACTER SET gbk COLLATE gbk_chinese_ci ; --指定字符集和该字符集的校对规则
2.查询
查看当前数据库服务器中的所有数据库
SHOW DATABASES;
查看前面创建的mydb2数据库的定义信息
SHOW CREATE DATABASE mydb2;
删除前面创建的mydb3数据库
DROP DATABASE mydb3;
3.修改
查看服务器中的数据库,并把mydb2的字符集修改为gbk;
ALTER DATABASE mydb2 CHARACTER SET gbk;
4.删除
DROP DATABASE mydb2;
5.其他
查看当前使用的数据库
SELECT DATABASE();
切换数据库
USE mydb1;
二.操作数据表(DDL)
1.添加表
语法:
create table 表名(
字段1 字段类型,
字段2 字段类型,
...
字段n 字段类型
);
常用数据类型:
int:整型
double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99;
char:固定长度字符串类型; char(10) 'abc '
varchar:可变长度字符串类型;varchar(10) 'abc'
text:字符串类型;
blob:字节类型;
date:日期类型,格式为:yyyy-MM-dd;
time:时间类型,格式为:hh:mm:ss
timestamp:时间戳类型 yyyy-MM-dd hh:mm:ss 会自动赋值
datetime:日期时间类型 yyyy-MM-dd hh:mm:ss
create table student(
id int,
name varchar(20),
chinese float,
english float,
math float
);
2.插入多条数据
语法:insert into <表名> [(<属性名清单>)] values (<常量清单>)
属性名清单的参数跟常量清单的值要一一对应,如属性名清单是表中的所有属性,则可以省略不写。
insert into student(id,name,chinese,english,math) values(1,'张小明',89,78,90);
insert into student(id,name,chinese,english,math) values(2,'李进',67,98,56);
insert into student(id,name,chinese,english,math) values(3,'王五',87,78,77);
insert into student(id,name,chinese,english,math) values(4,'李一',88,98,90);
insert into student(id,name,chinese,english,math) values(5,'李来财',82,84,67);
insert into student(id,name,chinese,english,math) values(6,'张进宝',55,85,45);
insert into student(id,name,chinese,english,math) values(7,'黄蓉',75,65,30);
或
insert into student(id,name,chinese,english,math)
values(8,'张小明',89,78,90),
(9,'王五',96,75,95),
(10,'李四',81,52,78),
(11,'张三',85,72,68);
3.查询当前数据库中的所有表
show tables;
4.查看表的字段信息
desc student;
alter语法:
alter table <表名>
//为表添加新列或者表级完整性约束,且新列必须允许为空
[add <列名><数据类型>[列的完整性约束]]|[add<表级完整性约束>]
//修改表中原有列的数据类型,不修改类名。通常当该列上有约束定义时,不能修改数据类型
[alter column <列名> <新的数据类型>]
// 在表中删除一个原有的列
[drop column <列名>]
//删除原有的表级完整性约束,删除时指定要删除的约束名称
[drop constraint <表级完整性约束>]
5.给表添加一列,列名为sex,类型为字节类型varchar
alter table student add age varchar(10);
6.修改age列,使其类型为int。
alter table student modify age int;
7.删除age列,一次只能删一列。
alter table student drop age;
8.表名改为user。
rename table student to user;
9.查看表格的创建细节
show create table user;
10.修改表的字符集为gbk
alter table user character set gbk;
11.列名name修改为username
alter table user change name username varchar(50);
12.给sid添加主键约束
alter table stu add CONSTRAINT PRIMARY key(sid);//
13.删除表
drop table user;
如有错误,还请指正哦~
推荐阅读
-
MYSQL操作之DDL
-
C语言指针操作、内存操作、字符串函数之备忘录(更新中~)
-
android studio之litepal基本操作
-
Android开发之LitePal数据库操作
-
Hibernate之Mysql或Mariadb数据库连接问题 博客分类: MavenJavaWeb hibernatemariadbmysql
-
mysql8解压版安装操作系统缺少MSVCP140.DLL、VCRUNTIME140.DLL、VCRUNTIME140_1.DLL文件问题及解决路径
-
MySQL:高级数据操作
-
MySQL数据库——Update和Insert操作是锁表还是锁行
-
mysql之联合索引
-
MySQL调优之索引常见概念(最左前缀原则、索引下推等)