第二章 创建、删除和修改表

创建表

create table 表名(属性名 数据类型 [完整性约束条件],

属性名 数据类型 [完整性约束条件],

属性名 数据类型 [完整性约束条件]);

注:建表前先选择数据库

约束条件


约束条件


说明


primary key


设为主键


foreign key


设为外键,是与之联系的某表的主键


not null


设该属性不能为空


unique


标识该属性的值是唯一的


auto_increment


标识该属性的值自动增加


default


设置该属性的默认值

查看表结构

describe 表名;

mysql> describe user;

设置表的主键

单字段主键

mysql> create table user(id int primary key,

name varchar(23));

多字段主键

primary key(属性名1,属性名2)

mysql> create table user(id int,course_id int,grade float,primary

key(id,course_id));

设置表的外键


user_id(主键)


name


age


course_id(主键)


course_name


user_id(外键)

当父表删除某条信息时,子表对应得信息也会被删除。

constraint 外键别名 foreign key(属性1.1,属性1.2,……)

references 表名(属性2.1,属性2.1,……)

创建父表

mysql> create table user(u_id int primary key,name varchar(20));

创建子表

mysql> create table course(id int primary key,u_id int,constraint c_fk foreign key(u_id) references user(u_id));

c_fk为外键的别名,而且外键必须是父表的主键

父表

F

子表

设置表的非空约束

mysql> create table course(id int primary key,name varchar(20) not null,u_id int,constraint c_fk foreign key(u_id) references user(u_id));

设置 表的唯一约束

mysql> create table course(id int primary key,name varchar(20) unique,u_id int,constraint c_fk foreign key(u_id) references user(u_id));

设置表的属性值自动增加

mysql> create table course(id int primary key auto_increment,name varchar(20) not null,u_id int,constraint c_fk foreign key(u_id) references user(u_id));

设置表的属性的默认值

mysql> create table course(id int primary key auto_increment,Computer float default 0,name varchar(20) not null,u_id int,constraint c_fk foreign key(u_id) references user(u_id));

查看表结构

1.describe

2.show create table

修改表

修改表名

alter table 旧表名 rename 新表名;

修改字段的数据类型

alter table 表名 modify 属性名 数据类型;

mysql> alter table user modify name varchar(30);

修改字段名

alter table 表名 change 就属性名 新属性名 新数据类型

mysql> alter table user change u_id user_id int;

更改后的字段与原来字段约束一致,如不更改数据类型,则与原来一致

增加字段

alter table 表名 add 属性名1 数据类型 [约束条件] [first| after 属性名2]

first参数指定新增字段为表的第一个字段,after指定在原有某个字段之后。默认在表的最后一个字段

mysql> alter table user add user_age int not null after user_id;

删除字段

alter table 表名 drop 属性名;

mysql> alter table user drop user_age;

修改字段的排列位置

alter table 表名 modify 属性名1 数据类型 first|after 属性名2;

更改表的存储引擎

alter table 表名 engine=存储引擎名;

更改表的默认编码集

alter table 表名 charset=utf8;

删除表的外键约束

alter table 表名 drop foreign key 外键别名;

删除表

a.删除未被关联的普通表

drop table 表名;

b.删除被关联的父表

(1)先删除子表的外键约束,再删除父表

(2)先删除子表,再删除父表

时间: 2024-10-01 06:20:20

第二章 创建、删除和修改表的相关文章

[Effective Java]第二章 创建和销毁对象

第一章      前言 略... 第二章      创建和销毁对象 1.            考虑用静态工厂方法代替构造器 创建对象方法:一是最常用的公有构造器,二是静态工厂方法.下面是一个Boolean的简单示例: public static Boolean valueOf(boolean b) { return (b ? Boolean.TRUE : Boolean.FALSE); } l  静态工厂方法与构造器不同的第一大优势在于,它们有名称. 作用不同的公有构造器只能通过参数来区别(因

[Effective Java 读书笔记] 第二章 创建和销毁对象 第一条

第二章  创建和销毁对象 第一条 使用静态工厂方法替代构造器,原因: 静态工厂方法可以有不同的名字,也就是说,构造器只能通过参数的不同来区分不同的目的,静态工厂在名字上就能表达不同的目的 静态工厂方法不用每次调用的时候都创建新的对象(其实是因为它是static的,所以只能用static的,所以是一早就创建了,不需要重复创建吧..),比如书中 Boolean.valueOf(boolean) 1 public static final Boolean TRUE = new Boolean(true

第二章 创建对话框

1.子类化QDialog 第一个例子是完全使用C++编写的Find对话框. finddialog.h: 1 #ifndef FINDDIALOG_H 2 #define FINDDIALOG_H 3 4 #include <QDialog> 5 6 class QCheckBox; 7 class QLabel; 8 class QLineEdit; 9 class QPushButton; 10 11 class FindDialog : public QDialog 12 { 13 Q_O

Effective java 第二章创建和销毁对象 读书笔记

建和销毁对象 一般有两种方式,一种是获得本身的实例,最常用的方法就是提供一个共有的构造器.第二个方法是,类可以提供一个共有的静态工厂方法. 静态工厂方法与构造器不同的三大优势: 有名字: 调用时不用创建新的对象: 返回原来类型的任何子类型对象. 第四大优势: 在创建参数化类型实例的时候,它们使代码变得更加简洁. 服务提供者框架 三个组件: 服务接口 提供者主持API 服务访问API 可选: 服务提供者接口 静态工厂方法的缺点: 类如果不含共有的或者受保护的构造器,就不能被子类化: 它们与其他的静

预览和全展示----第二章:创建和管理内容

默认情况下,Drupal允许的内容项进行编辑,更新和删除该项目的作者.只有网站 这允许他们管理员或用户与角色进行编辑,更新和删除其他作者的内容可以 更改您的内容.如果您没有看到旁边的编辑内容项目的标题,那么你就不是 登录与适当的权限的帐户进行修改,该项目. 要更改内容项,单击编辑选项卡. Drupal将在编辑模式下显示的内容项, 在这里你可以更改或删除的项(见图2-6). 图2-6.内容将显示在编辑模式 还有另一种方式来编辑您的文章.尝试更新您在上一步中创建的文章 导航回主页.要导航回主页,点击

ExtJs 第二章,Ext.form.Basic表单操作

1.认识Ext.form.Panel表单面板         Ext.form.field.CheckBox 复选框 checkboxfield Ext.form.CheckBoxGroup 复选框组 checkboxgroup Ext.form.field.ComboBox 下拉列表框 combo Ext.form.field.Date 日期选择框 datefield Ext.form.field.Display 文本展示组件 displayfield Ext.form.FieldContai

评论设置----第二章:创建和管理内容

点击“保存并继续出版”按钮. Drupal将保存的内容项,现在该项目将 出现在主导航菜单上,用按字母顺序排列的菜单项.缺省情况下,菜单项 按字母顺序排序;你可以通过菜单管理工具更改排序顺序哪些 在第8章中讨论在这种情况下,我们是一个单件的内容链接到菜单项.在案件 要在其中多个内容项目链接到一个菜单项,你需要创建一个登陆页面(见 第7章)或视图(参见第10章).如果您使用的是标准Bartik主题(这是默认的主题 在Drupal 8),你应该看到靠近你的页面的顶部,您在“菜单中输入的值的新选项卡 链

URL路径设置----第二章:创建和管理内容

形式立即显示内容的下面.编辑内容,然后选择关闭选项,并点击 “保存并继续出版”按钮.你会发现在如何显示您的内容项的显著变化, 因为评论将不再出现. 图2-15.随着打开的默认设置,用户现在可以发布在网站上的评论 随着打开的默认设置,游客到您的网站现在可以编写和响应发表评论 你的内容项(假设你已经设置权限允许匿名用户发表评论, 我将在第6章盖).请尝试输入主题和注释,然后点击保存.你的评论 现在应该出现在注释部分. 由于内容作者(或该网站的管理员),你可以删除,编辑或回复评论 点击每个注释下的链接

其它内容选项----第二章:创建和管理内容

一个弹出式窗口将出现在其中您可以更新文本不留主页 (见图2-8).修改编辑器中的文本,然后单击保存按钮.新版本 您保存后的网页上会自动出现.这是执行快速文本的好方法 触摸起坐,你已经发现了或固定的错误. 图2-8.对网页内容编辑 如果进行一些修改,喜欢全屏幕编辑器界面中,单击铅笔图标(见 图2-7),然后选择编辑选项.这是因为点击任何内容项的标题来查看同一 内容详细页(即内容项目作为一个独立的页面的完整渲染),然后选择编辑选项卡 内容的标题下方,就像我们以前一样. 其它内容选项 在内容编辑表格的