MySQL基础(2) | 数据库、数据表


基本语法

  1. 数据库
#创建
CREATE DATABASE IF NOT EXISTS test_db_char
DEFAULT CHARACTER SET utf8; #显示创建详情
SHOW CREATE DATABASE test_db_char; #修改
ALTER DATABASE test_db_char
DEFAULT CHARACTER SET gbk; #删除
DROP DATABASE IF EXISTS test_db_char; #选择数据库
USE test_db;

数据表

#创建
create table mygoods(
g_id int AUTO_INCREMENT primary key, #创建表时指定主键
g_name varchar(20),
g_price double,
g_count int
)engine=innodb default CHARSET=utf8; create table myperson(
p_id int AUTO_INCREMENT primary key,
p_name varchar(20),
g_id int,
foreign key fk_pid(g_id) #创建表时指定外键
references mygoods(g_id)
); #显示创建详情
show create table myperson;

修改【重要】

  1. 添加字段
ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] [FIRST|AFTER 已存在的字段名];
# 新字段名为需要添加的字段的名称;FIRST 为可选参数,其作用是将新添加的字段设置为表的第一个字段;AFTER 为可选参数,其作用是将新添加的字段添加到指定的已存在的字段名的后面,不指定则默认将新添加的字段设置为数据表的最后列。 alter table mygoods add column g_code varchar(20) after g_price;
  1. 修改字段类型
ALTER TABLE <表名> MODIFY <字段名> <数据类型>
# 其中,表名指要修改数据类型的字段所在表的名称,字段名指需要修改的字段,数据类型指修改后字段的新数据类型。 alter table mygoods modify g_code int;
  1. 删除字段
ALTER TABLE <表名> DROP <字段名>;
#其中,字段名指需要从表中删除的字段的名称。 alter table mygoods drop g_code;
  1. 修改字段名
ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;
#其中,旧字段名指修改前的字段名;新字段名指修改后的字段名;新数据类型指修改后的数据类型,如果不需要修改字段的数据类型,可以将新数据类型设置成与原来一样,但数据类型不能为空。 alter table mygoods change g_code gg_code varchar(30);
  1. 修改表名
ALTER TABLE <旧表名> RENAME [TO] <新表名>;
#其中,TO 为可选参数,使用与否均不影响结果。 alter table mygoods rename my_goods;
  1. 删除表
DROP TABLE [IF EXISTS] 表名1 [ ,表名2, 表名3 ...]
  1. 添加主键约束
ALTER TABLE <数据表名> ADD PRIMARY KEY(<列名>);

alter table mygoods add primary key (g_name);
  1. 添加外键约束
ALTER TABLE <数据表名> ADD CONSTRAINT <索引名>
FOREIGN KEY(<列名>) REFERENCES <主表名> (<列名>); alter table myperson add constraint fk_myperson_1
foreign key(p_id) references my_goods(g_id)
  1. 删除外键约束
ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>;

alter table myperson drop foreign key myperson_ibfk_1
  1. 添加唯一约束
ALTER TABLE <数据表名> ADD CONSTRAINT <唯一约束名> UNIQUE(<列名>);

alter table mygoods add constraint unique_price UNIQUE(g_price)
  1. 删除唯一约束
ALTER TABLE <表名> DROP INDEX <唯一约束名>;

alter table mygoods drop index unique_price
  1. 非空约束(not null),默认约束(default)

  2. 显示表中所有约束

show create table table_name

参考:http://c.biancheng.net/view/2413.html

MySQL基础(2) | 数据库、数据表的更多相关文章

  1. MySQL基础知识 数据库 数据表

    1.数据库结构 库 表 数据 2. sql(structured query language)结构化查询语言 管理数据库 管理表 管理数据 3.数据库 增删改查 增 create database  ...

  2. mysql基础篇 - 数据库及表的修改和删除

    基础篇 - 数据库及表的修改和删除         修改和删除 一.实验简介 本节实验中,我们将学习并实践如何对数据库的内容做修改,删除,重命名等操作. 二.实验准备 在正式开始本实验内容之前,需要先 ...

  3. MySQL基础学习之数据表

    查看数据表 SHOW TABLE; 查看数据表详细结构 SHOW CREATE TABLE 表名\G; 创建数据表 CREATE TABLE 表名(数据名 类型,数据名1  类型2); CREATE ...

  4. 第二百七十七节,MySQL数据库-数据表、以及列的增删改查

    MySQL数据库-数据表.以及列的增删改查 1.创建一个表 CREATE(创建) TABLE(表) ENGINE(引擎) ENGINE=INNODB(引擎)还有很多类引擎,这里只是简单的提一下INNO ...

  5. mysql基础之对库表操作

    原文:mysql基础之对库表操作 查看一下所有的库,怎么办? Mysql>Show databases; 选库语句: Use 库名 创建一个数据库: create database 数据库名 [ ...

  6. PHP创建数据库数据表

    PHP创建数据库数据表 <?php $con = mysql_connect('localhost', 'root', 'root'); /************************在数据 ...

  7. mysql更改已有数据表的字符集,保留原有数据内容

    mysql更改已有数据表的字符集,保留原有数据内容     原文网址:http://blog.csdn.net/learn_2/article/details/6460370 环境:在应用开始阶段没有 ...

  8. SQL语句(一)SQL和数据库数据表的创建

    SQL的组成 (1) 数据定义语言DDL(Data Definition Language) 用于数据库和数据表的创建.修改和删除等操作 CREATE (create) 创建数据库.数据表 ALTER ...

  9. SQL Sever实验一 创建和删除数据库数据表

    一. 实验目的 1. 熟悉SQL    Server    2008    中SQL    Server    Management    Studio的环境 2. 了解SQL    Server   ...

  10. opencart 3.0 版本数据库数据表字典(详细篇)

    1.下文是opencart3.0版本数据库数据表字典,表字段与功能的介绍都比较详细.             数据表 address :地址表,会员在结账时储存的账单地址或者配送地址(这个与区域配送方 ...

随机推荐

  1. [模板]线性递推+BM

    暴力版本: #include<bits/stdc++.h> #define mod 998244353 using namespace std; typedef long long int ...

  2. Thumb.db看不到的问题

    今天读取数据集的时候总是会读到一个Thumb.db的缩略图文件,点开查看选项里面的显示隐藏文件.文件夹处于勾选状态,此时文件夹中并不存在此文件. 解决方案: 勾选掉隐藏受保护的操作系统文件即可.

  3. GPU与CPU

    GPU与CPU CPU CPU,也就是中央处理器,结构主要包括控制器(指挥各部分工作).运算器(实现数据加工).寄存器.高缓以及数据/控制/状态总线.计算机的性能很大程度上依赖于CPU,CPU的功能包 ...

  4. SpringMVC 参数映射与文件上传

    handler参数映射: 接下来就是Spring的各个处理细节了,无论框架如何疯转其实我们处理请求的流程是不变的,设计到的操作也是固定的,举个例子,当我们要实现一个登陆功能时: 创建一个用于处理登录请 ...

  5. python3调用哈工大ltp

    运行环境ubuntu+python3 安装pyltp sudo pip3 install pyltp 下载ltp_data_v3.4.0模型 http://ltp.ai/ 分句 from pyltp ...

  6. [Python源码剖析]获取Python小整数集合范围

    #!/usr/bin/env python #-*- coding=utf-8 -*- small_ints = dict() for i in range(-10000,10000): small_ ...

  7. POJ_1050_最大子矩阵

    http://poj.org/problem?id=1050 这道题是最大子串的扩展,遍历过每一个子矩阵就好了,期间用了最大子串的方法. #include<iostream> #inclu ...

  8. sql中常量和变量的引用

    String name =jtf.getText().trim(); String sql="select * from stu where stuname='  "+name+& ...

  9. EMC NW NMM to backup MS AG

    To use EMC NW NMM to backup MS SQL always on database, that is a simple and safe way to protector da ...

  10. js发展历史与基础

    最早的浏览器是WWW浏览器 Mosaic浏览器是互联网历史上第一个获普遍使用和能够显示图片的网页浏览器,于1993年问世 浏览器组成部分: 1)shell部分(外壳) 2)内核部分 ① 渲染引擎(语法 ...