MySQL笔记(一)之新建数据库和数据表
创建数据库
CREATE DATABASE database_name
创建数据表
CREATE TABLE table_name
(
列1 数据类型,
列2 数据类型,
列3 数据类型,
....
)
#常见的数据类型
integer(size)  整型
int(size)   整型
numeric(size,d)  浮点型
char(size)  固定长度字符型
varchar(size)  可变长度字符型
date(yyyymmdd)  日期类型
数据表的约束
NOT NULL
强制列不接受 NULL 值
CREATE TABLE Persons
(
Id_P int NOT NULL,
City varchar(255)
)
DEFAULT
用于向列中插入默认值。
- 创建时添加约束
 
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255) DEFAULT 'Sandnes'
OrderDate date DEFAULT GETDATE()   # 可以使用函数
)
- 创建后添加约束
 
ALTER TABLE Persons
ALTER City SET DEFAULT 'SANDNES'
- 撤销约束
 
ALTER TABLE Persons
ALTER City DROP DEFAULT
UNIQUE
唯一标识数据库表中的每条记录,一个数据表中可以有多个UNIQUE约束。
- 创建时添加UNIQUE约束
 
CREATE TABLE table_name
(
Id_P int NOT NULL,
City varchar(255),
UNIQUE (Id_P)       # 为一列指定UNIQUE约束
CONSTRAINT uc_PersonID UNIQUE (Id_P,City)  # 命名UNIQUE 约束,并且为多列指定UNIQUE约束
)
- 创建后添加约束
 
#添加一个约束
ALTER TABLE Persons
ADD UNIQUE (Id_P)
#命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束
ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
- 撤销UNIQUE约束
 
ALTER TABLE table_name
DROP INDEX uc_PersonID
PRIMARY KEY
主键必须包含唯一的值,主键列不能包含 NULL 值。
每个表都应该有一个主键,并且每个表只能有一个主键。
- 创建时添加PRIMARY KEY约束
 
CREATE TABLE Persons
(
Id_P int NOT NULL,
City varchar(255),
PRIMARY KEY (Id_P)   # 为一列指定UNIQUE约束
CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,City) #命名 PRIMARY KEY 约束,以及为多个列定义 PRIMARY KEY 约束
)
- 创建后添加PRIMARY KEY 约束
 
ALTER TABLE Persons
ADD PRIMARY KEY (Id_P)
ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)
- 撤销 PRIMARY KEY 约束
 
ALTER TABLE Persons
DROP PRIMARY KEY
FOREIGN KEY
指向另一个表中的 PRIMARY KEY
- 创建时添加FOREIGN KEY约束
 
CREATE TABLE Orders
(
Id_O int NOT NULL,
OrderNo int NOT NULL,
Id_P int,
PRIMARY KEY (Id_O),
FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)  # 一个约束
CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)  # 命名约束且指定多个约束
)
- 创建后添加PFOREIGN KEY 约束
 
ALTER TABLE Orders
ADD FOREIGN KEY (Id_P)
REFERENCES Persons(Id_P)
ALTER TABLE Orders
ADD CONSTRAINT fk_PerOrders
FOREIGN KEY (Id_P)
REFERENCES Persons(Id_P)
- 撤销 FOREIGN KEY 约束
 
ALTER TABLE Orders
DROP FOREIGN KEY fk_PerOrders
CHECK
束用于限制列中的值的范围
- 创建时添加CHECK约束
 
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CHECK (Id_P>0)
CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')
)
- 创建后添加CHECK约束
 
ALTER TABLE Persons
ADD CHECK (Id_P>0)
ALTER TABLE Persons
ADD CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')
- 撤销 CHECK 约束
 
ALTER TABLE Persons
DROP CHECK chk_Person
												
											MySQL笔记(一)之新建数据库和数据表的更多相关文章
- MySQL基础(2) | 数据库、数据表
		
MySQL基础(2) | 数据库.数据表 基本语法 数据库 #创建 CREATE DATABASE IF NOT EXISTS test_db_char DEFAULT CHARACTER SET u ...
 - MySQL 笔记整理(13) --为什么数据表删掉一半,表文件大小不变?
		
笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> (本篇内图片均来自丁奇老师的讲解,如有侵权,请联系我删除) 13) --为什么数据表删掉一半,表文件大小不变? 我们还是以MySQL ...
 - MySQL数据库 | 数据库和数据表的基本操作
		
第一篇博文,一个小小的纪念仪式^-^ 以下正文 一.数据库的基本操作 --数据库的操作 --连接数据库 mysql -uroot -p密码 mysql -uroot -pmysql --退出数据库 e ...
 - MySql中添加用户,新建数据库,用户授权,删除用户,修改密码
		
1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 创建用户: mysql> insert into mysql.user(Host,User,Passw ...
 - 【mysql元数据库】使用information_schema.tables查询数据库和数据表信息
		
概述 对于mysql和Infobright等数据库,information_schema数据库中的表都是只读的,不能进行更新.删除和插入等操作,也不能加触发器,因为它们实际只是一个视图,不是基本表,没 ...
 - mysql 导入导出数据库、数据表
		
Linux下 均在控制台下操作. 导入数据库: 前提:数据库和数据表要存在(已经被创建) (1)将数据表 test_user.sql 导入到test 数据库的test_user 表中 [root@te ...
 - mysql 关于数据库和数据表的基本操作
		
-- 备注: -- .每一条mysql语句后面都需要加上半角分号 -- .可以用``符号(1键旁边的那个键)将字段名称引用起来,如`Name` -- .mysql在windows下不区分大小写,在li ...
 - C# 利用mysql.data 在mysql中创建数据库及数据表
		
C# 利用mysql.data 在mysql中创建数据库及数据表 using System; using System.Collections.Generic; using System.Linq; ...
 - mysql 导入导出数据库、数据表的方法
		
mysql 导入导出数据库.数据表的方法. Linux操作系统中,均在控制台下操作.1,导入数据库:前提:数据库和数据表要存在(已经被创建)(1)将数据表 test_user.sql 导入到test ...
 
随机推荐
- CSS 字体常用属性
			
一.字体大小 font-size:参数 /** * 参数:一.数字固定值,如20px * 二.父元素字体的百分比 * 三.smaller 比父元素更小 * 四.larger 比父元素更大 * 五.i ...
 - 不修改代码优化 ASP.NET 网站性能的一些方法
			
本文将介绍一些方法用于优化ASP.NET网站性能,这些方法都是不需要修改程序代码的.它们主要分为二个方面:1. 利用ASP.NET自身的扩展性进行优化.2. 优化IIS设置. 配置OutputCach ...
 - windos下创建软链接,附Linux下创建软链接
			
用过好多次老是忘记: 写在这里忘了就来看下 Windows下(win7) mklink /D D:\phpStudy\WWW\yii\school\teacher\web\uploads\public ...
 - HDU  3790    最短生成树   (最短路)
			
题目链接 Problem Description 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的. ...
 - PHP 5 MySQLi 函数总结
			
连接数据库 mysqli_connect() 函数打开一个到 MySQL 服务器的新的连接. <?php $con=mysqli_connect("localhost",&q ...
 - 大美西安writeup
			
http://202.112.51.184:10080/ admin/admin 弱口令登入 发现注入 但是这个注入实在是不知道怎么利用.很蛋疼.后来get了一个姿势. 先-1让前面的不被下载然后后面 ...
 - WebBrowser中运行js
			
HtmlElement script = wf.WebBrowser.Document.CreateElement("script"); script.SetAttribute(& ...
 - rpmdb: Thread/process 9180/139855524558592 failed: Thread died in Berkeley DB library
			
使用yum安装出现问题:rpmdb: Thread/process 9180/139855524558592 failed: Thread died in Berkeley DB library 解决 ...
 - PHP利用rand(1,100)函数产生10个1~100之间的随机数
			
//echo rand(1,100); $max=0; $min=100; for($i=0;$i<=9;$i++){ $rand[$i]=rand(1,100); if($rand[$i]&g ...
 - java版云笔记(二)
			
云笔记 基本的环境搭建好了,今天做些什么呢,第一是链接数据库(即搭建Spring-Batistas环境),第二是登录预注册. 注:这个项目的sql文件,需求文档,需要的html文件,jar包都可以去下 ...