专栏首页calmound操作数据表

操作数据表

  • 打开数据库    use 数据库 ---- use mydata
  • 查看数据库    show databases
  • 显示当前用户打开的数据库   SELECT DATABASE();
  • 创建数据表 语法:CREATE TABLE [IF NOT EXISTS] table_name(             column_name data_type             ) 例子:创建student数据表             CREATE TABLE student(                     id int,                     username VARCHAR(20) NOT NULL,                     age TINYINT UNSIGNED              );
  • 数据表更名   ALTER TABLE tbl_name RENAME [TO|AS] new_tbl_name   例子:ALTER TABLE student RENAME stu;
  • 查看当前数据库下的数据表SHOW TABLES  查看其他数据库下的数据表SHOW TABLES FROM data_name;
  • 查看数据表 SHOW COLUMNS FROM table_name;
  • 查看索引SHOW INDEX FROM tbl_name [FROM db_name];
  • 查看表中的内容SHOW CREATE TABLE tbl_name\G;
  • NOT NULL 与NULL      例子:username VARCHAR(20) NOT NULL 表明username不能为空,每次插入数据的时候必须插
  • 主键约束 PRIMARY  KEY 1. 添加主键约束 语法: ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]]                    PRIMARY KEY [index_type] (index_col_name,...)                         [CONSTRAIN [symbol]]给主键起名字  例子:给student表中的uid设置为主键                         ALTER TABLE student ADD PRIMARY KEY(uid); 注:每张表只能有一个主键,主键保证记录的唯一性,主键自动保存为NOT NULL  例子:将学生的id定义为student表的主键                 id  int PRIMARY KEY 2. 删除主键约束 语法:ALTER TABLE tbl_name DROP PRIMARY KEY;
  • 外键约束      外键用来在两个表的数据之间建立连接,它可以是一列或者多列。一个表可以有一个或多个外键。外键对应的是参照完整性,一个表的外键可以为空值,若不为空值,则每一个外键值必须等于另一个表中主键的某个值。引擎必须为InnoDB。 语法:[CONSTRAINT<外键名>] FOREIGN 字段名1,[字段名2...] REFERENCES<主表名> 主键列1[,主键链2...]              "外键名"为定义的外键约束的名称,一个表中不能有相同名称的外键,"字段名"表示子表需要添加外键约束的字段列:"主表名"表子表外键所一来的表的名称;''主键列"表主表中定义的主键列或组合. 例子:      1.建立主表          CREATE TABLE GRADE(                 gid int PRIMARY KEY,                 gname VARCHER(20)           );       2.建立子表          CREATE TABLE student(                  sid int PRIMARY KEY,                  sname VARCHAR(20)                  FOREIGN KEY(sid) REFERENCES GRADE(gid)   student表的sid参照grade表的gid          )  添加外键约束 语法:             ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]]                 FOREIGN KEY [index_name] (index_col_name,...) reference_definition 例子:student表中的sid参照grape表中的gid添加外键:                    ALTER TABLE student ADD FOREIGN KEY (sid) REFERENCE group(gid);    删除外键约束              ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol 外键约束的参照操作    1.CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行(ON DELETE CASCADE)    2.SET NULL:从父表删除或更新行,并设置子表中的外键列为NULL。                           如果使用该选项,必须保证子表列没有指定NOT NULL    3.RESTRICT:拒绝对父表的删除或更新操作
  • 表级约束对一个数据列建立的约束(既可以在列定义时声明,也可以在列定义之后声明) 列级约束对多个数据列建立的约束(只能在列定义后声明)
  • 唯一约束 UNIQUE KEY 1.添加唯一约束 语法:ALTER TABLE tbl_name ADD  [CONSTRAINT [symbol]]                     UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...) 例子:给student表中username设置为唯一约束               ALTER TABLE student ADD UNIQUE (username);               唯一约束可以保证记录的唯一性             唯一约束的值可以为空值(但是只能有一个空值)               每张表可以存放多个唯一约束 2.删除唯一约束 语法:ALTER TABLE tbl_name DROP {INDEX|KEY} index_name; 例子:               首先通过SHOW INDEX FROM tbl_name\G;找出要删除索引的名字               ALTER TABLE student DROP KEY age;
  • 默认约束 DEFAULT        age TINYINT UNSIGNED DEFAULT '18'默认年龄为18岁 
  • 添加/删除默认约束 语法:ALTER TABLE tbl_name ALTER [COLUMN] col_name                     {SET DEFAULT literal | DROP DEFAULT} 例子:为student表中添加一个age的列               ALTER TABLE student ADD age int NOT NULL;  例子:为age添加默认值15              ALTER TABLE student ALTER age SET DEFAULT 15;  例子:删除age的默认值              ALTER TABLE student ALTER age DROP DEFAULT;
  • 自动编号 AUTO_INCREMENT     id int KEY PRIMARY AUTO_INCREMENT 没增加一个记录id就自己增加1,不用人为的赋值了
  • 添加单列    语法: ALTER TABLE table_name ADD [COLUMN] col_name            column_definition [FIRST | AFTER col_name]       若写FIRST表明加在最前面,AFTER表明加在哪一列的后面,若都不写则在最后面     例子:ALTER TABLE student ADD age int;
  • 删除某列 例子:ALTER TABLE student DROP age;
  • 修改列定义 语法:ALTER TABLE tbl_name MODIFY [COLUMN] col_name           column_definition [FIRST|AFTER col_name] 例子:ALTER TABLE student MODIFY uid int unsigned;
  • 修改列名称 语法:ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name            new_col_ame column_definition [FIRST|AFTER col_name]    例子:ALTER TABLE student CHANGE sid ssid INT UNSIGNED NOT NULL;
  • 插入记录 语法:INSERT [INTO] table [col_name,...] VALUES(val,...) ---(INTO可以省略) 例子:INSERT table VALUES('1','TOM',12);给student表的所有列赋值             INSERT table (username) VALUES ('john');给student的uername赋值
  • 查询记录       语法:SELECT expr,... FROM student       例子:SELECT * FROM student;查询student表中的所有的记录

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 多线程-事件

    创建  CreateEvent 销毁  CloseHandle 事件变为有信号(可以使用信号)  SetEvent 事件变为无信号(不可以使用信号)  Rese...

    用户1624346
  • Merge Two Sorted Lists

    问题:有序合并两个有序链表 分析:归并排序的合并部分 class Solution { public: ListNode *mergeTwoLists(...

    用户1624346
  • 图的着色

    图着色问题,相邻的点颜色不同       基础知识:http://wenku.baidu.com/view/d7242fd1c1c708a1284a444d.h...

    用户1624346
  • 一日一技:如何实现可热拔插的插件系统

    设想有这样一个场景:爬虫把数据一条一条写入到 Redis 中,你的另一个程序从 Redis 中一条条读取出来,进行一些处理后写入 MongoDB。

    青南
  • ASP.NET MVC5+EF6+EasyUI 后台管理系统(49)-工作流设计-我的申请

    提交一个表单后 ? 我们需要一个管理的列表。我的申请,我的申请包含了提交内容的列表状态 状态分:过期,未审核,审核通过,驳回,废弃 列表对应代码 @using ...

    用户1149182
  • SolydXK 9 正式发布,基于 Debian 的发行

    SolydXK 9 已正式发布,它基于最近发布的 Debian 9。 自上个 beta 版本发布以来,团队一直在测试、改进和开发。除了基于新的 Debian 9...

    Debian社区
  • [周末往期回顾]DB_CREATE_FILE_DEST,DB_CREATE_ONLINE_LOG_DEST_n

    bsbforever
  • OCP-052考试题库汇总(28)-CUUG内部解答版

    Archivelog mode is enabled for your database and DB_CREATE_FILE_DEST is set to ‘...

    用户5892232
  • Oracle基本参数(DB_CREATE_FILE_DEST,DB_CREATE_ONLINE_LOG_DEST_n)

    第一期就从基本的初始化参数讲起,一篇一个参数,会尽可能的具体. 如无特殊说明数据库版本为11g

    bsbforever
  • 用Qt写软件系列三:一个简单的系统工具之界面美化

    前言      在上一篇中,我们基本上完成了主要功能的实现,剩下的一些导出、进程子模块信息等功能,留到后面再来慢慢实现。这一篇来讲述如何对主界面进行个性化的定制...

    24K纯开源

扫码关注云+社区

领取腾讯云代金券