MYSQL

发布时间:2024年01月20日

编写一种指令

数据库种类有很多,如果每种数据库都需要学一套指令,太麻烦,所有的关系型数据库,都遵守同一种语言规范。sql结构化查询语言

sql

主要是学习sql语言

1、数据库操作

a、显示所有数据库

image-20221024141418485

b、创建新的数据库

image-20221024141512569

image-20221024141544228

c、删除数据库

image-20221024141630409

d、使用数据库

image-20221024141721096

使用navicat完成上面的代码

-- 创建数据库
create database test;
-- 切换数据库
use test;
-- 显示所有数据库
SHOW databases;
-- 删除数据库
drop database test;

2、表结构的操作

a、创建表
-- a、创建表
create table emp
(
 -- 先写属性名称,写属性类型
  id int, ? -- int类型不需要声明长度
    name varchar(20), -- varchar类型类似Java中的String类型,(20)是字符串的长度
    salary ?DECIMAL(8,2) -- DECIMAL小数 (总长度,小数点后面的位数)
);
b、删除表
drop table dept;
-- 语法:drop table 表名

c、修改表结构
-- 修改表结构,添加属性(字段、列、Column)
alter TABLE emp -- 修改表
add phone int; ?-- 添加属性  add  属性名称  属性类型
?
-- 语法:alter table 表名 add 属性名 类型;
?
-- 修改表结构,修改属性(字段、列、Column)
alter TABLE emp -- 修改表
modify phone char(11); -- char也是字符串类型(定长)
-- 语法:alter table 表名 MODIFY 属性名 类型;
?
-- 修改表结构,删除属性
alter TABLE emp -- 修改表
drop phone;
?
-- 语法:alter table 表名 drop 属性名;
?

d、修改属性名
alter table emp 
change phone2 phone varchar(11);

e、主键
-- 添加主键 primary key 当前属性不能为空且不重复
create table emp
(
 -- 先写属性名称,写属性类型
  id int primary key , ? -- int类型不需要声明长度
    name varchar(20), -- varchar类型类似Java中的String类型,(20)是字符串的长度
    salary ?DECIMAL(8,2) -- DECIMAL小数 (总长度,小数点后面的位数)
);

f、自增
-- 添加自增  auto_increment 数据库系统会自动对这个属性填入数据
create table emp
(
 -- 先写属性名称,写属性类型
  id int primary key auto_increment, ? -- int类型不需要声明长度
    name varchar(20), -- varchar类型类似Java中的String类型,(20)是字符串的长度
    salary ?DECIMAL(8,2) -- DECIMAL小数 (总长度,小数点后面的位数)
);

3、DML

a、插入数据
-- DML 数据操作语言
?
DML操作表中的数据
-- 添加数据
insert into 表名 values(val1,val2...); 小括号内val的个数与表结构中的属性个数一致
?
全属性插入
insert into emp values(1,'andy','2002-8-8',123456.889);
?
insert into emp values(null,'jack','2002-9-9',123456.654);
?
-- 有员工入职,人事办理入职手续
insert into emp values(null,'jackson','2002-9-9',null);
-- 选择属性插入数据
insert into emp(name,birthday) values('jack','2002-9-9');
?

b、修改数据
-- 修改数据
-- 员工已入职 ,已经插入到数据表中, 财务填写工资,还是新增么?进行修改操作
update 表名 set COLUMN1=value1,COLUMN2=VALUE2... ?where COLUMNn=VALUEn
UPDATE 是要修改哪个表
set 是要修改哪些属性(列)
where 是要修改哪些行
?
-- 给id为4的员工修改工资
update emp set salary = 5500 where id=4;
-- 给姓名为jack的员工修改工资
update emp set salary = 5500 where name='jack';
-- 给所有的员工修改工资
update emp set salary = 15500,birthday='2003-7-7'; 
?
update emp set birthday='1902-2-2' where id=3;

c、删除数据
-- 删除
delete FROM 表名 where 条件
delete from emp;
delete from emp where birthday<'1922-7-7';
delete from emp where salary>=100000 and salary<=200000;

d、查询数据
文章来源:https://blog.csdn.net/Fxdll/article/details/135612449
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。