多测师肖sir_高级金牌讲师_数据库之建表语句和约束(8.4)

一、建表
第一步:先建库名 create database 库名
第二步:使用库 use 库名或navicat中点击数据库
第三步:建表:如:create table bb(id int(10),sex varchar(10));
第四步:查看表结构:desc 表名
第五步:查询表全部内容 :select * from 表名
第六步: 插入数据
格式一: insert into 表名(字段名1,字段名2) values (字段值 1,字段值2 ) 注意:字符类型必须加引号
格式二:insert into 表名 values (字段值 1,字段值2 )
第七步:建表添加约束(主键,唯一,默认值,为空 ,等)

备注:ctrl+/ 多行注释 ,取消注释多行ctrl+shift+/

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

一个汉字占多少 长度和编码有关

(utf8和gbk 都是字符集格式,如:在我们禅道中导入用例的格式也用到了gbk)

utf-8:一个汉字=3个字节
gbk: 一个汉字=2个字节

常用

在这里插入图片描述

数值格式:

int 整数 2-3----231 节:4
bigint 超大的整数 字节:8

float 浮点型数据 字节:4

在这里插入图片描述

字符格式:
char 固定长度的字符串 最大字符255

varchar 具有最大限制的可变长度 最大65535字符
在这里插入图片描述

时间格式:
date yyyy-mm-dd 格式的日期 字节:3

time hh:mm:ss 格式的时间 字节:3

datetime 日期+时间 字节:8

year , 年 :字节1

例如:

create table hz002(id int(10),name char(20),chusheng year );

注意:时间直接在字段名后面接上时间类型;不需要宽度;

insert into 插入数据

插入数据库:
在这里插入图片描述
指定字段插入
在这里插入图片描述

插入所有字段在这里插入图片描述

解决中文编码格式问题:
create table dd(shuzi int(10),age char(20)) DEFAULT charset=utf8
在这里插入图片描述

例如:

create table hz002(id int(10),name char(20),chusheng year );

注意:时间直接在字段名后面接上时间类型;不需要宽度;

create table +表名
( 字段1名称,数据类型, 约束 ,备注, 字段2名称,数据类型,约束,备注, 字段3名称,数据类型,约束,备注, )

例如1:
创建表格式:
create table 表名 (字段名1 字符类型1(字符宽度1) 约束 ,字段名2 字符类型2(字符宽度2));

#create table gz16 (id int(10)primary key,name VARCHAR(20));

default charset=utf8

约束:
定义实际上就是表中的限制条件
作用:表在设计的时候加入约束的目的是为了保证表中的记录完整和有效
约束的种类:
1、非空约束:(not null)非空 用于保证字段的值不能为空;
2、唯一约束:(unique) 保证字段值最具有唯一性(不能重复),并且为空
3、主键约束:(primary key)主键,用于保证字段值具有唯一性,并且非空,一个表中只有一个主键
4、外键约束:(foreign key)
5、默认: default
6、自增长:auto_increment
(1)与主键 约束一起使用 ,针对id
(2)每插入一条数据,指定的字段值+1
空值的插入使用:null

添加约束的的时机:
1、建表
2、修改表
主键约束和唯一约束的区别:
主键 不允许为空,最多一个, 允许组合
唯一 允许为空 ,可以由多个, 允许组合

外键:
1、要求有主表和从表

2、建立外键是在从表设置外键,
3、主表和从表的字符类型要一致
4、主表的关联列是以key
5、插入 数据:先插入主表,在插入从表
6、删除数据,先删除从表,在删除主表

在这里插入图片描述

=============================================
表结构语句:
建表:
desc 表名;查看表结构
select * from 表名 查看表中所有的数据 * 表示所有
创建表格式:
create table 表名 (字段名1 字符类型1(字符宽度1) 约束 ,字段名2 字符类型2(字符宽度2));
#create table gz16 (id int(10)primary key,name VARCHAR(20));
default charset=utf8
SELECT * from hz0001;

删除表:格式:drop table 表名
#drop table gz16;
目前我都在liunx中操作,我们也可以在navicat 上操作,

弹出一个会话框,在会话框中输入语句

表添加字段:alter table 表名 add 字段名 字符类型(字符宽度)

举例:alter table hz001 add sex VARCHAR(10);
在这里插入图片描述

表修改字段: alter table 表名 change 旧字段名 新字段名(字符累类型(字符宽度))

举例:alter table hz001 change chinese math int(10);
在这里插入图片描述

删除字段: alter table 表名 dorp 字段名

举例:ALTER table hz001 drop math ;
修改表名:alter table 表名 rename 新表名

举例:alter table hz001 rename hz01;

在这里插入图片描述

表字段调换:

第一种情况:字段都存在的顺序调换

modify after 在… 后面

alter table 表名 MODIFY 已存在字段名 字符类型(字符宽度) after 字段名 ;

alter table bb MODIFY age int(10) after id ;
在这里插入图片描述

第二种情况: 添加字段到第一位

first 字段放在第一位(添加字段到表的第一位)

格式:alter table 表名 add 字段名 字符类型(字符宽度) first;

举例:alter table bb add sex char(10) first;

在这里插入图片描述

已标记关键词 清除标记
简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!此时此景,笔者只专注Android、Iphone等移动平台开发,看着这些源码心中有万分感慨,写此文章纪念那时那景! Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除,从账户中取出amt,如果amt>账户余额抛出异常,一个实体Bean可以表示不同的数据实例,我们应该通过主键来判断删除哪个数据实例…… ejbCreate函数用于初始化一个EJB实例 5个目标文件,演示Address EJB的实现 ,创一个EJB试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口函数得到远程接口的引用,用远程接口的引用访问EJB。 EJB中JNDI的使用源码例子 1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户可以在终端上直接地使用它,但是它的主要作用是供程序使用的。本规范尝试满足大型主机、微型主机、个人工作站、和TACs 的不同需求。例如,容易实现协议的设计。 Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创EJB对象,计算利息等;在有状态SessionBean中,用累加器,以对话状态存储起来,创EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天通信演示代码 2个目标文件,一个服务器,一个客户端。 Java Telnet客户端实例源码 一个目标文件,演示Socket的使用。 Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密   Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。   设定字符串为“张三,你好,我是李四”   产生张三的密钥对(keyPairZhang)   张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节   通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到张三编码后的公钥,将其解码,李四用张三的公钥加密信息,并发送给李四,张三用自己的私钥解密从李四处收到的信息…… Java利用DES私钥对称加密代码实例 同上 java聊天室 2个目标文件,简单。 java模拟掷骰子2个 1个目标文件,输出演示。 java凭图游戏 一个目标文件,简单。 java求一个整数的因子 如题。 Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥   Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥,通常应对私钥加密后再保存、如何从文件中得到公钥编码的字节数组、如何从字节数组解码公钥。 Java数据压缩与传输实例 1个目标文件 摘要:Java源码,文件操作,数据压缩,文件传输   Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页