操作数据表

  • 打开数据库    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 条评论
登录 后参与评论

相关文章

来自专栏开源优测

SQL常用的基础语法

SQL常用的语法 本文主要分享SQL日常使用过程中常用的语法样式。 在sql语句中,主要的关键词有SELECT、INSERT、UPDATE、DELETE、ALE...

3198
来自专栏Python攻城狮

PostgreSQL语法、连接

博客地址:https://ask.hellobi.com/blog/zhiji 欢迎大家来交流学习。

1171
来自专栏Netkiller

新闻数据库分表案例

文章节选自《Netkiller Architect 手札》 6.3. 新闻数据库分表案例 这里我通过一个新闻网站为例,解决分表的问题 避免开发中经常拼接表,我采...

4026
来自专栏ml

行受影响 是什么意思

这就是说明你写的语句没问题,此句实现插入一条name为a kecheng为d fenshu为d  的数据 说明你插入的数据成功... CREATE TABLE ...

3155
来自专栏散尽浮华

mysql操作命令梳理(1)-索引

1、创建索引 索引的创建可以在CREATE TABLE语句中进行,也可以单独用CREATE INDEX或ALTER TABLE来给表增加索引。以下命令语句分别展...

2136
来自专栏别先生

mysql根据分组和条件查询以后如何统计记录的条数

1、子查询,查询出的数据随便起一个别名,然后根据分组和条件查询出的数据,作为一个具有一列的一个表,然后外面的查询查询这个数据表的这一列的总数,即可。    

1592
来自专栏Samego开发资源

入门级Oracle存储过程 | oracle

1132
来自专栏跟着阿笨一起玩NET

SQL Server 2008 新语法

1271
来自专栏乐沙弥的世界

Oracle 分区索引

    分区索引(或索引分区)主要是针对分区表而言的。随着数据量的不断增长,普通的堆表需要转换到分区表,其索引呢,则对应的转换到分区索引。分区索引的好处是显而易...

2301
来自专栏深度学习之tensorflow实战篇

SQl 语句(常见) 新建,删除,修改表,新增字段,修改默认值

SQl 语句(常见) 新建,删除,修改表结构 新建表: create table [表名] ( [自动编号字段] int IDENTITY (1,1) PRIM...

3109

扫码关注云+社区

领取腾讯云代金券