MySql

数据库:

  1. 关系型数据库
    SQL Server 微软
    MySQL Oracle
    Oracle Oracle
    DB2 IBM
    SQL语句

  2. 非关系型数据库NoSQL

  3. 关键词

    DBMS
    DBS
    DBA:数据库管理员

数据表 table
记录 行
字段 列

每个数据库会有自己的方言

1) DDL(Data Definition Language)数据定义语言
	用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter 等
2) DML(Data Manipulation Language)数据操作语言
	用来对数据库中表的数据进行增删改。关键字:insert, delete, update 等
3) DQL(Data Query Language)数据查询语言
	用来查询数据库中表的记录(数据)。关键字:select, where 等
4) DCL(Data Control Language)数据控制语言(了解)
	用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANT, REVOKE 等

数据库的数据类型

java 数据库
字符串 varchar(50) 可变长度 nvarchar
char(50) 固定长度 nchar
数值 number(7,2) oracle xxxx.xx
int mysql
float
double
decimal
日期 date 年月日
time 时分秒
datetime 年月日时分秒

MySQL定义库基本语句

  1. 建库

    create database tablename;
    
  2. 使用库

    use tablename
    

    MySQL定义基本表的语句有

表结构约束

1.唯一 unique UK 值不能重复的,值可以为Null,可以多个值是null

create table tablename
(
colname1 varchar(20) primary key,
colname2 varchar(20) unique
);

2.非空 not null 该列值不能为空

create table tablename
(
colname1 varchar(20) primary key,
colname2 varchar(20) not null
);

3.主键 primary key PK 功能:是相当于唯一且非空 ,但是一个表只能设置一个主键的,但是这个主键不一定只有一列,可以由多列组成(复合主键)

create table tablename
(
-- 单列主键
colname1 varchar(20) primary key,
colname2 varchar(20),
colname3 varchar(20),
-- 创建多列主键
primary key (colname1,colname2)
);

4.外键 foreign key FK

create table tablename1
(
colname11 varchar(20) primary key,
colname12 varchar(20),
colname13 varchar(20),
);

create table tablename2
(
colname21 varchar(20) primary key,
colname22 varchar(20),
colname23 varchar(20),
colname11 varchar(20),
-- 创表时加外键,'fk_tablename1_tablename2'(外键名'fk_父表_子表')
constraint 'fk_tablename1_tablename2' foreign key colname11 references tablename1(colname11)
);
-- 创建表后添加外键
alter table tablename add constraint 'fk_tablename1_tablename2' foreign key colname11 references tablename1(colname11)

5.默认值 default (主键不能默认,因为它本身是不重复的且唯一)

create table tablename
(
colname1 varchar(20) primary key,
colname2 varchar(20) default '男'
-- 默认colname2 列为'男'
);

6.自动增长 auto_increment

create table tablename
(
colname1 varchar(20) primary key,
colname2 varchar(20) default '男'
-- 默认colname2 列为'男'
);

操作表语句

  1. 建表

    create table 表名(
    字段名  字段类型  约束,
    字段名  字段类型  约束,
    字段名  字段类型  约束 
    );
    
  2. 修改表名

    alter table taboldname rename to newname;
    
  3. 修改表结构

    3.1改列类型

    alter table tabname modify colname coltype;
    

    3.2改列名

    alter table tabname change oldcolname newcolname coltype;
    

    3.3添加列: 如果表里已经有数据,增加的这一列只能允许Null。如果表里无数据,增加的这一列可以为Null,可以Not Null。

    -- (在第一列|在xxx列之后) 
    alter table tabname add newcolname coltype first | after xxx;
    -- 或
    alter table tablename
    add colname colstype 约束;
    

    3.4删除列:列被删除,整个列上的数据都将清空。如果该列正被其他列引用,则无法删除。

    alter table tabname 
    drop (column) colname;
    -- column可选
    

    3.5修改列的位置

    alter table tabname modify colname coltype first|after xxx;
    

    3.6修改列的数据类型:允许改小,但是可能会丢失数据。一般情况下改大。

    alter table tablename
    alter column colname 数据类型;
    
  4. 表记录的插入,修改与删除

4.1插入数据

insert into tablename values(value1,value2,...,value5);

--括号里必须包含所有不允许为Null的列
insert into tablename(sno,sname,ssex,sage,sdept) values(value1,value2,...,value5);

insert into tablename(sno) values(value1);

4.2修改数据

update table
set 做修改
where 条件是否满足

4.3删除数据

delete
from tablename
where 条件是否满足
  1. 删除表

    drop table table1,table2,table3
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值