软件存储数据的仓库
前端:用户输入数据
后端:用户数据处理
数据库:存储数据
mysql
,db2
,oracle
,sqlserver
数据库的类型很多,但是语言命令大部分是相同的
show databases;
create database 数据库名 charset=utf8;
drop database 数据库名
use 数据库名
select database()
创建表时,需要创建表结构。一个表至少包含一列,列在数据库内称为字段。
每个字段的字段名不可重复
每个字段都有数据的限制--能够存储什么样的数据类型
数据类型:
int 整数 数字范围 -21亿---+21亿
char()固定字符类型
char(10)最长10个字符;就算存入两个字符也按10个字符长度计算
固定的可以提高修改效率,不修改磁盘空间,缺点是容易造成磁盘空间浪费
varchar()可变字符类型
varchar(20) 最长可以存入20个字符;不足20按照实际字符长度存储,节省硬盘空间;
float 浮点类型 5.6,-9.8,1.3
bool 布尔类型 0,1 真或假
date 日期 2021-08-06
datetime 2021-08-06 11:46:56
1.创建表时
create table 表名(字段1 数据类型(),字段2 数据类型()......)
2.显示所有表
show tables
3.修改表名
alter table 原表名 rename 新表名
4.删除表
drop table 表名
在表创建以后,可以对表结构进行修改,对字段的增删改查,字段的增删改查就是对表的修改
查看表字段:可以看到表内所有字段名和字段数据类型以及其他约束
desc 表名
Field:字段,表示的是列名
Type:数据类型
NULL:表示该字段是否可以为空
Key:主键
Default:默认值
Extra:其他信息
增加字段
alter table 表名 add 字段名 数据类型(长度)
alter table aad add address varchar(50);
after:添加的字段在谁的字段后面:
alter table aad add address1 varchar(40) after id;
first :添加的字段放在首位
alter table aad add address2 varchar(40) first;
修改表字段:
change 替换字段,modify 修改再短
alter table 表名 change 原字段 新字段 数据类型(长度)
alter table aad change address2 id1 int;
alter table 表名 modify 原字段 数据类型(长度)
alter table aad modify id1 char(15);
删除字段
alter table表名 drop字段名
alter table aad drop id1;
多项操作(,左右都要有动词)
alter table 表名 add 字段名 数据类型(长度),change 原字段 新字段 数据类型(长度),drop 字段名
alter table aad add id1 int,change id id2 int(15),drop address;
表数据
1. 插入数据
insert into 表名 (字段1,字段2....) values(值1,值2.........)
字段和值要一一对应,即要遵照该字段的数据类型插入数据。当插入的是全字段的时候字段名可以省略
insert into aa1(id,name) values(1,‘王德‘)
select * from aa1
insert into aa1 values(2,‘li‘)
insert into aa1(id) values(3)
2. 查询数据
select * from 表名 查询表的所有内容 *代表查询所有字段
select 字段名 from 表名 查询标的某些列
3.修改数据
update 表名 set 字段=值 where条件
update aa1 set name=‘张三‘ where id=3
4.删除数据:删除数据是一整行的删除
delete from表名 where 条件
5.清空表
delete from 表名 效率低一点 一行一行的删除
truncate 表名 效率高一点
复制&复制数据
create table 复制表名 as select * from 原表名
create table 复制表名 as select 字段1 from 原表
create table 复制表名 as select 字段1,字段2 from原表 where 条件
create table aa2 as select * from aa1
select * from aa2
desc aa2
desc aa1
create table aa3 as select id from aa2 where id=3
select * from aa3
在表中插入数据,数据与原表相同,在插入的数据的数量与格式要对应
insert into 表(字段1,字段2 ) select 字段1,字段2 from 表名 where 条件
insert into aa4 (id,name) select id,name from aa1 where id=1
insert into aa4(name) select name from aa1 where id=3
约束--了解
约束是添加在字段上的,对字段内的数据进行限制
字段的约束类型:数据类型(长度)、为空、重复
主键约束:primary key
,添加主键的字段不能为空且不能重复
每个表都只有一个主键,一般主键都是ID,id是给数据添加序号,本身没有太多实际意义
create table 表名(字段1 数据类型(长度) primary key,字段2 数据类型(长度)....)
create table aa5(id int(10) primary key,name char(15));
alter table 表名 add primary key(字段名)给表添加主键
alter table aa6 add primary key(name)
alter table 表名 modify 字段名 数据类型(长度) primary key
alter table 表名 drop primary key
多个字段共同组成联合主键,每个字段不能为空,且组合字段不能重复,单个字段的数据可以重复
create table 表名(字段1 数据类型(长度),字段2 数据类型(长度),primary key(字段1,字段2)
create table aa7 (id int(12),name char(15),primary key(id,name))
alter table 表名 add primary key(字段1,字段2)
alter table aa7 add primary key (id,name)
原文:https://www.cnblogs.com/Neroi/p/15117343.html