SQL简单点说,就是访问和处理关系性数据库的一种计算机语言,而要操作数据库中的表,首要就是要创建数据表

目录

1、创建数据表

建表

写数据

2、修改表名

3、添加索引


1、创建数据表

  • 建表

-- 创建演员表
CREATE TABLE IF NOT EXISTS `actor` (
`actor_id` smallint (5) NOT NULL PRIMARY KEY COMMENT '演员ID',
`first_name` varchar (45) NOT NULL COMMENT '名',
`last_name`  varchar(45) NOT NULL COMMENT '姓',
`last_update` datetime NOT NULL COMMENT '最近一次更新时间'
);

通过CREATE TABLE table_name(字段形式)语句来创建数据表,加上IF NOT EXISTS就是在创建时是查看否存在相同表名actor。其中:

  1. smallint、varchar、datetime为字段数据类型;
  2. 括号后的数字为字段长度,例如actor_id为小整型,长度为5;
  3. PRIMARY KEY 表actor_id字段为主键,也可在last_update字段后面加 PRIMARY KEY (`actor_id`)表主键;
  4. COMMENT后接字段的注释。

注:

1、可用CREATE DATABASE 库名 语句来创建数据库名

-- 创建测试数据库
CREATE DATABASE test;
-- 查看存在的数据库
SHOW DATABASE;
-- 使用测试数据库
USE test;
-- 查看存在的数据表
SHOW TABLES;

2、查看表结构的详细信息

-- show create table tablename
show create table actor;
-- desc/describe table_name
desc actor;

  • 写数据

-- 写入数据
INSERT INTO `actor`(`actor_id`, `first_name`, `last_name`, `last_update`)
VALUES
(1, 'PENELOPE', 'GUINESS', '2006-02-15 12:34:33'),
(2, 'NICK', 'WAHLBERG', '2006-02-15 12:34:33');

通过INSERT INTO table_name(列名) VALUES(值) 语句来往actor表中写数据,actor后接字段名,values后接要插入的数据,插入多行数据用逗号分隔。

注:

1、也可使用旧表创建新表

CREATE TABLE actor_new like actor;
CREATE TABLE actor_new AS SELECT * FROM actor;

2、写入数据也可以从一张表中查询数据并插入到另一张表中

INSERT INTO table1(id,name) select id,name from table2

2、修改表名

RENAME TABLE这个SQL语句来修改表名的基本语法是:RENAME TABLE <旧表名> TO <新表名>;

rename table actor to actor_new1;

ALTER TABLE这个SQL语句来修改表名的基本语法是:ALTER TABLE <旧表名> RENAME TO<新表名>;

alter table actor rename to actor_new2;

3、添加索引

  • 添加PRIMARY KEY(主键索引)
ALTER TABLE `table_name` ADD PRIMARY KEY (`column`)
  • 添加UNIQUE(唯一索引)
ALTER TABLE `table_name` ADD UNIQUE (`column`)
  • 添加INDEX(普通索引)
ALTER TABLE `table_name` ADD INDEX index_name (`column`)
  • 添加FULLTEXT(全文索引)
ALTER TABLE `table_name` ADD FULLTEXT (`column`)
  • 添加多列索引
ALTER TABLE `table_name` ADD INDEX index_name (`column1`, `column2`, `column3`)
  • 创建外键约束

外键用于与另一张表进行关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。

1、sql语句创建表的同时添加外键约束

DROP TABLE IF EXISTS audit; (若表存在,删除存在的表)CREATE TABLE audit(
EMP_no INT NOT NULL,
create_date datetime NOT NULL,
FOREIGN KEY(EMP_no) REFERENCES employees_test(ID));
(给从表audit添加外键参考主表employees_test的字段ID)

2、添加外键约束(关联字段要用括号括起来)

ALTER TABLE 从表 ADD CONSTRAINT 约束名 FOREIGN KEY (关联字段) references 主表(关联字段);

SQL篇-创建数据表相关推荐

  1. 使用SQL语句创建数据表(SQL Server)

    数据库 表的创建(SQL Server) 文章目录 数据库 表的创建(SQL Server) 使用SQL语句创建数据表 使用SQL语句创建数据表 CREATE TABLE的语法格式如下 databas ...

  2. SQL命令创建数据表和修改数据表的方法

    1.在SQL Server中使用SQL命令创建学生作业管理数据库,数据库的名称为学生姓名. 请给出SQL代码及运行结果截图 代码如下: 2.使用SQL命令在数据库中建立学生表.课程表和学生作业表,给出 ...

  3. 使用SQL语句创建数据表

    写法一 create table student (sno char(10) primary key,sname varchar(20) not null,ssex char(2),sage smal ...

  4. phpstudy mysql创建表_MySQL_Mysql入门基础 数据库创建篇,1.创建数据表---基础(高手跳 - phpStudy...

    Mysql入门基础 数据库创建篇 1.创建数据表---基础(高手跳过) 正统方法:create [TEMPORARY] table 表名 [if not exists] (创建的列项定义) [表的选项 ...

  5. Activiti流创建数据表的过程中报错 java.sql.SQLSyntaxErrorException: Table ‘activiti.act_ge_property‘ doesn‘t exis

    Activiti流创建数据表的过程中报错 java.sql.SQLSyntaxErrorException: Table 'activiti.act_ge_property' doesn't exis ...

  6. ASP.NET数据库访问系列教程01-概述篇 创建数据访问层(中)

    ASP.NET数据库访问系列教程 本教程深入探讨了基于ASP.NET 2.0技术的数据库访问方法和模式.这些介绍非常简明,并且提供了一步步的指导和大量的截屏. 该系列教程包括: 概述篇 基础报表 主/ ...

  7. mysql创建表设置数值范围,MySQL创建数据表时设定引擎MyISAM/InnoDB操作

    我在配置mysql时将配置文件中的默认存储引擎设定为了innodb.今天查看了myisam与innodb的区别,在该文中的第七条"myisam支持gis数据,innodb不支持.即myisa ...

  8. mysqlinnodb教程_MySQL创建数据表时设定引擎MyISAM/InnoDB操作

    我在配置mysql时将配置文件中的默认存储引擎设定为了InnoDB.今天查看了MyISAM与InnoDB的区别,在该文中的第七条"MyISAM支持GIS数据,InnoDB不支持.即MyISA ...

  9. mysql之创建数据库,创建数据表

    写在前面 项目中用到mysql数据库,之前也没用过mysql,今天就学下mysql的常用的语法,发现跟sql server的语法极其相似.用起来还是蛮简单的. 一个例子 1.创建一个名为School的 ...

最新文章

  1. 对象检测和图像分割有什么区别?
  2. Angularjs 中select回显后重复选项的解决
  3. 【Indiegogo众筹】$99高性价比RK3399超小型mini主机
  4. linux 时间戳及时间差计算
  5. spring aop 申明了切面类之后,如何申明切入点呢?
  6. 降维(二)----Laplacian Eigenmaps
  7. tomcat 环境配置
  8. float.equals_Java Float类equals()方法与示例
  9. (转)互联网——降级论
  10. redis应用场景java实例_redis使用场景和java测试案例
  11. 中文宾州树库标记含义
  12. 解决在IE6下使用display: inline-block;的不兼容性问题
  13. MapGIS6.7投影生成点-以物化探综合剖面图为例
  14. 古龙奇侠传java6_华人最著名的20位武侠小说家,梁羽生排不进前6,古龙屈居第5...
  15. Istio对接虚拟机
  16. U-Net网络模型(添加通道与空间注意力机制)代码---亲测提高精度
  17. 经济应用文写作【11】
  18. Linux 英伟达驱动手动安装详细教程(图文)
  19. 三表左连接(LEFT JOIN) — 两表之间的关系
  20. 睡地板的女高管,也被马斯克裁了!推特丧心病狂的第八轮裁员来了

热门文章

  1. sicily 1390 Surprising Strings
  2. java获取网络摄像头数据
  3. Math.floor 和 Math.ceil
  4. 小程序源码:AI智能配音助手微信小程序源码支持多种声音场景选择
  5. android获取wifi的hz,Android wifi获得连接Wifi的频率
  6. 四电压比较器LM339简介和9个典型应用例子(转)
  7. 讯飞输入法键盘计算机,讯飞输入法莫得键盘怎么使用?莫得键盘使用说明
  8. BurpSuit抓包软件字体设置方法
  9. 修改cmd控制台字体颜色,附C++代码
  10. 计算机网络谢希仁(第七版)