数据库定义和管理语言DDL DML

数据库查询

1.use 【库名】/describle【表名】 /desc【表名】

desc/describle作用一样,desc 是describe的缩写,都是用力啊查询表的数据结构,
use切换数据库名称;
数据库定义和管理语言DDL DML

2.navicat 手动添加表位置在结果栏里左下角;

当开启事务的时候,通过回滚,可以撤销已经删除的东西。
数据库定义和管理语言DDL DML

3.navicat快捷键

ctrl+ /:单行注释,ctrl+shift+/:撤销注释;

ctrl+F6打开命令行窗口;CTRL+Q打开查询窗口;

4.使用dos命令启动数据库时密码保护

正常语句:

c:/users/auus/mysql> _u root _p123456 【回车键】

隐藏信息输入:

c:/users/auus/mysql> _u root _p 【回车键】

[系统提示enter your password:] 123456

[密码会用*代替输出]

5.使用数据库的两种方式

1用dos窗口命令行;

2.使用可视化工具navicat /sqlyog ;【本身是显示数据库的工具,不是存储数据库的工具类型】

6.注释

字符段的注释直接在字符段的约束后comment “别名”;

表名的注释,在创建表的小括号外直接添加comment=“别名”

标准的注释:两个中下划线 一个空格 – – 单行注释

多行注释/**/

在sqlyog中特有的是# 做单行注释

7.键

foreign key 外键

primary key主键

【unique key】 唯一键

8.添加删除单列或多列

删除单列(多列)

alter table 表名 drop 字段1(,drop 字段2,drop 字段3);

添加单列及字段约束(多列j及字段约束)

alter table 表名 add 字段1 varchar(12)(,add 字段2 int (3),add 字段3 decimal(10,2));

修改表的约束

alter table 表名 modify 字段1 int (3);

修改表的字段重命名及约束

alter table 表名 change字段1 新字段1名字 int (3);

部分demo

create table grade(
id int(3) not null ,
name varchar(20) not null,
primary key(id)
)engine = innodb default charset utf8 comment=‘年级表’
alter table grade change id gradeId int(3);
alter table grade change name gradeName varchar(20);
– 创建学生表
create table if not exists student (
stuNo int not null,
loginPwd varchar(20)not null,
stuName varchar(20) not null,
sex char(2) not null DEFAULT ‘男’,
gradeId int not null ,
phone varchar(50),
address varchar(255) DEFAULT’地址不详’,
bornDate datetime,
email varchar(20),
idCard varchar(18) unique key,
PRIMARY key(stuNo)
)comment=“学生表”;
– 创建科目表
create table subject (
subject_num int not null primary key auto_increment,
subject_name varchar(50) not null,
classHour int not null,
gradeId int not null
)comment=‘科目表’;
– 在复合主键的情况下,可以使用外键但是不用声明外键;
– 成绩表
create TABLE if not exists score(
stuNo int not null,
subject_num int not null,
examDate datetime,
sutdent_score int not null
)comment=‘成绩表’;
– 显示建表的语言;
show create table score;
/*CREATE TABLE score (
stuNo int(11) NOT NULL,
subject_num int(11) NOT NULL,
examDate datetime DEFAULT NULL,
sutdent_score int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT=‘成绩表’
*/
– 查询数据库版本
select verson();
/*select verson()
1305 - FUNCTION kgc.verson does not exist
时间: 0.003s
*/
help int;
– 模糊查询
show variables like ‘storage engine%’;
– 向年级表中添加数据,多条
insert into grade (gradeId,gradeName)values (6,‘基础班’),(2,‘高级班’),(3,‘冲刺班’),(4,‘微服班’);
– 添加单条语句
insert into grade values (5,‘大数据班’);
– 查询表的具体信息;
select * from grade;
– 查询单列信息;
SELECT gradeName from grade;
– 根据条件查询信息一行的所有信息
select * from grade where gradeId=5;
– 根据条件查询信息一行的单列信息
select gradeName from grade where gradeId=4;
select * from grade;
– 查询单列信息;
SELECT gradeName from grade;
– 根据条件查询信息一行的所有信息
select * from grade where gradeId=5;
– 根据条件查询信息一行的单列信息
select gradeName from grade where gradeId=4;
INSERT into score values(24,2,“2020-10-12 00-00-00”,98),(5,2,“2020-10-12 00-00-00”,98),(6,2,“2020-10-12 00-00-00”,98),(7,2,“2020-10-12 00-00-00”,98),(8,2,“2020-10-12 00-00-00”,98),(9,3,“2020-10-12 00-00-00”,98),(10,2,“2020-10-12 00-00-00”,98),(11,2,“2020-10-12 00-00-00”,98),(12,2,“2020-10-12 00-00-00”,98),(13,2,“2020-10-12 00-00-00”,98),(14,3,“2020-10-12 00-00-00”,98),(15,3,“2020-10-12 00-00-00”,98),(16,2,“2020-10-12 00-00-00”,78);
INSERT into score values(4,2,“2020-10-12 00-00-00”,98);
show tables;
select * from score;

– 查看创建学生表的SQL语句
show create table student;
– 创建学生表
CREATE TABLE student (
stuNo int(11) NOT NULL,
loginPwd varchar(20) NOT NULL,
stuName varchar(20) NOT NULL,
sex char(2) NOT NULL DEFAULT ‘男’,
gradeId int(11) NOT NULL,
phone varchar(50) DEFAULT NULL,
address varchar(255) DEFAULT ‘地址不详’,
bornDate datetime DEFAULT NULL,
email varchar(20) DEFAULT NULL,
idCard varchar(18) DEFAULT NULL,
UNIQUE KEY idCard (idCard)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT=‘学生表’
– 添加一个学生
insert into student(stuNo,loginPwd,stuName,sex ,gradeId)values(7,“123123”,“赵1”,default,3);
insert into student(stuNo,loginPwd,stuName,sex ,gradeId)values(8,“123123”,“赵2”,default,2),(9,“123123”,“赵3”,default,2),(10,“123123”,“赵4”,default,2),(11,“123123”,“赵5”,default,2),(12,“123123”,“赵6”,default,2),(14,“123123”,“赵14”,default,2),(15,“123123”,“赵15”,default,2),(16,“123123”,“赵16”,default,2),(17,“123123”,“赵17”,default,2),(18,“123123”,“赵18”,default,2),(19,“123123”,“赵19”,default,2),(20,“123123”,“赵20”,default,2),(21,“123123”,“赵21”,default,2),(22,“123123”,“赵22”,default,2),(23,“123123”,“赵23”,default,2),(24,“123123”,“赵24”,default,2),(25,“123123”,“赵1”,default,2),(7,“123123”,“赵1”,default,2),(7,“123123”,“赵1”,default,2),(7,“123123”,“赵1”,default,2),(7,“123123”,“赵1”,default,2),(7,“123123”,“赵25”,default,2),(26,“123123”,“赵26”,default,2),(27,“123123”,“赵27”,default,2),(28,“123123”,“赵28”,default,2),(29,“123123”,“赵29”,default,2),(30,“123123”,“赵30”,default,2),(31,“123123”,“赵31”,default,2),(32,“123123”,“赵32”,default,2),(33,“123123”,“赵33”,default,2),(34,“123123”,“赵34”,default,2),(35,“123123”,“赵35”,default,2),(36,“123123”,“赵36”,default,2),(37,“123123”,“赵37”,default,2),(38,“123123”,“赵38”,default,2),(39,“123123”,“赵39”,default,2),(48,“123123”,“赵40”,default,2);
show create table subject;
CREATE TABLE subject (
subject_num int(11) NOT NULL AUTO_INCREMENT,
subject_name varchar(50) NOT NULL,
classHour int(11) NOT NULL,
gradeId int(11) NOT NULL,
PRIMARY KEY (subject_num)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT=‘科目表’
use test;
show tables ;
use kgc;
show tables;
– 查看所有数据库名
show databases ;
– 使用某个数据库
use kgc;
– 查看当前数据库下的表名;
show tables;
– 查看表结构
desc grade;

DESCRIBE grade;
– cha看数据库版本号
select VERSION();
– 查看某张表
show create table score;
CREATE TABLE score (
stuNo int(11) NOT NULL,
subject_num int(11) NOT NULL,
examDate datetime DEFAULT NULL,
sutdent_score int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='成绩表
show create table student;
CREATE TABLE student (
stuNo int(11) NOT NULL,
loginPwd varchar(20) NOT NULL,
stuName varchar(20) NOT NULL,
sex char(2) NOT NULL DEFAULT ‘男’,
gradeId int(11) NOT NULL,
phone varchar(50) DEFAULT NULL,
address varchar(255) DEFAULT ‘地址不详’,
bornDate datetime DEFAULT NULL,
email varchar(20) DEFAULT NULL,
idCard varchar(18) DEFAULT NULL,
UNIQUE KEY idCard (idCard)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='学生表
– 查询所有学生信息
– 设置自增的步长;
SELECT * from student;
set @@auto_increment_increment=100;
– 删除某张表
drop table if EXISTS grade2;
– 删除某个字段
Alter TABLE student drop email;
– 查看某个表的结构
DESC student;
– 删除一个表的多个字段
ALTER table student drop bornDate,DROP idCard;
– 增加一个字段;
ALTER table student ADD email varchar(59);
– 增加一个表多个字段;
ALTER table student add bornDate datetime,add idCard varchar(18);
– 查看某个表的结构
DESC student;
– 更改某个字段的约束;
Alter table student MODIFY stuNo int(3);
– 更改某个字段的名字;

– Alter TABLE student change sex gender varchar(1);
– 查询某个人的单条信息
SELECT * FROM student where stuNo=23;
– 查询某个人单列信息
SELECT stuName from student where stuNo=23;
– 删除某条信息;
DELETE from student where stuNo=23;
– 查询学员编号在12到35之间;
SELECT * from student where stuNO BETWEEN 12 and 35;
– 查询学员编号不是2的姓名性别信息;
SELECT stuName,gender from student wheregradeId!=2;
– 查询赵学生首字母为赵的
SELECT * from student where stuName like “赵%”;
– 查询赵姓同学名字两个字
SELECT * from student where stuName like “赵_”;
– 查询含赵同学的信息(赵字必须在中间)
SELECT * from student where stuName Like “%赵%”;
– 查询学生姓名是三位数,并且以4结尾的学生名字;
SELECT stuName FROM student WHERE stuName like “__4”;
– 年级表表结构
desc grade;
– 列的别名展示信息
SELECT gradeId “年级编号”,gradeName"年级名称"from grade;
– 去重
SELECT DISTINCT stuName from student ;
– 拼接显示
SELECT contact(stuName,“姓名”) as “学生姓名” from student;

– case when 条件1 then 取值1 when 条件2 then 取值2 else 取值3 end
– 显示结果
SELECT 23%5 as “结果”;
– 查询步长
select @@auto_increment_increment ;
– 设置步长
set @@auto_increment_increment=1;
– 同步计算,(成绩低于80的都加5分)查询学号和成绩
SELECT stuNo, sutdent_score+5 from score where sutdent_score<=80 ;

数据库定义和管理语言DDL DML
数据库定义和管理语言DDL DML数据库定义和管理语言DDL DML
数据库定义和管理语言DDL DML
数据库定义和管理语言DDL DML

数据库定义和管理语言DDL DML
“2020-10-12 00-00-00”,日期格式手动输入,应该用双引号包裹
数据库定义和管理语言DDL DML数据库定义和管理语言DDL DML