10.19 数据库 DDL增强

编程入门 行业动态 更新时间:2024-10-15 22:25:34

10.19 <a href=https://www.elefans.com/category/jswz/34/1771350.html style=数据库 DDL增强"/>

10.19 数据库 DDL增强

#-修改表名1--alter table表名rename新表名;

ALTER table test01 RENAME student;

#- 更改字段-alter table表名change列名 新列名数据类型;

alter table student CHANGE  age  bbub  int;s


# change 修改数据类型

alter table student change bbub bbub int(16);


#-添加列-alter table表名add列名类型;

alter table student add a VARCHAR(10);


#a-删除列-lter table表名drop列名;

alter table student drop a;


# -modify 更改新的列数据类型-alter table表名modify列名新数据类型;

ALTER TABLE student modify bbub varchar(12);

约束

创建时新加,

唯一约束unique 

1.创建表格时

 #unique  create table student01(`name` varchar(5),id int UNIQUE  // 创建表格时添加唯一)

2.创建完表之后,添加约束

 #unique  create table student01(`name` varchar(5),id int )alter TABLE student01 add unique(id)  //表创建完成使用alter 添加约束唯一

非空约束,默认约束

1.在创建时,添加约束

create table temp2(id int not null,`name` varchar(30) default  'abc',sex varchar(10) not null default '男');

2.创建完表之后,添加约束

alter table temp3 modify id int not null ;
alter table temp3 modify name  varchar(30)   default  'abc';
alter table temp3 modify sex varchar(10) not null  default '男';

主键自增 

1.在创建时添加约束

CREATE TABLE  t_order(
id int AUTO_INCREMENT PRIMARY KEY,
nun int,
addr VARCHAR(50),
name  VARCHAR(10),
phone CHAR(11)
)

2.创建完表之后,添加约束

alter table person5 modify id int auto_increment;
//设置自增起始值
alter table person6 auto_increment=10000; 

外键 /物理外键

创建表时添加外键约束


create table teacher(id int ,name varchar(20),primary key (id)
);
create table student (id int ,name varchar(20),teacher_id int ,primary key (id),foreign key (teacher_id) references teacher(id)
);

2.创建完表之后,添加外键约束

alter table student1 add foreign key (teacher_id) references teacher1 (id);

定义: 一个表中的外键是另一个表中的主键

目中不允许加物理外键, 只加逻辑外键。

逻辑外键  : 就是不使用外键, 写上就行。

条件判断

#select 列限定 from 表限定 where A表达式 and B表达式;  and且,和,的意思,
select *from student WHERE name='张三' AND score>91;
#select 列限定 from 表限定 where A表达式 or B表达式; or 或的意思,
select *from student WHERE name='张三' or score>91;
#select 列限定 from 表限定 where 列名 between 值1 and 值2;  between and 在...之间
select *from student WHERE score BETWEEN 95 AND 1000;
#select 列限定 from 表限定 where 列名 in(值1,值2....);  in  写谁找谁
select *from student WHERE score in(98,97);   
#select 列限定 from 表限定 where 列名 like  '值'  % 匹配任意个数的任意字符_ 匹配单个任意字符;
select *from student WHERE score like '_9%';
#order by  排序
#select 列限定 from 表限定 order by 列名 asc/desc; 
# desc 倒叙 asc 正序
SELECT * FROM student ORDER BY score DESC
#限制条数,通常和order by一起使用,因为我们使用排序之后,再去获取前几条数据,比较有价值,比如成绩前三名
#select 列限定 from 表限定 limit 条数;
select *FROM student LIMIT 1;
#select 列限定 from 表限定 limit 开始值(不包含) ,条数;
select *from student LIMIT 1,3;

group by 组函数

count(*) : 总条数

#count(*) : 总条数
select COUNT(*)as '总条数' FROM student WHERE id;

max(字段名) : 最大值

#max(字段名) : 最大值
select max(score) as'最大值' FROM student WHERE score;

min(字段名) : 最小值

#min(字段名) : 最小值
select min(score) as'最小值' FROM student WHERE score;

avg(字段名) : 平均值

#avg(字段名) : 平均值
select avg(score) as'平均值' FROM student WHERE score;

sum(字段名) : 总和

#sum(字段名) : 总和
select sum(score) as'总和' FROM student WHERE score;

常用函数:


#select  char_length('中国');返回字符个数。
select CHAR_LENGTH('武正旭');
#select  length('中国');返回字符所占字节数,MySQL中,一个UTF8编码的汉字占3个字节
SELECT length('中国')
#select  concat(  '=',  'a',  'b',  'c');拼接符
select CoNCAT_WS ('|','a','v','g');  第一个字符是分割符
#select   upper('abcd');转成大写
select upper('acas')
#select  lower('ABCD');转小写
select lower('ABCD')
#select  substring(  '系统信息类',  1,  3  );返回  系统信。第2个参数
select SUBSTRING('欢乐麻将',1,2);

Having    过滤

having:表限定>行限定>列限定

having  可以使行限定 最后执行

union 去重

union all 不去重

更多推荐

10.19 数据库 DDL增强

本文发布于:2024-03-05 19:19:32,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1713150.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数据库   DDL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!