SQL基础学习_01_数据库和表
SQL语句及其种类
1. SQL语句分为三类:
DDL(Data Definition Language): CREATE、DROP、ALTER;
DML(Data Manipulation Language): SELECT、INSERT、UPDATE、DELETE;
DCL(Data Control Language): COMMIT、ROLLBACK、GRANT、REVOKE;
2. SQL语句的基本书写规则:
SQL语句要以分号(;)结尾;
SQL语句不区分大小写,但是插入到表中的数据是区分大小写的;
单词之间使用半角空格隔开;
表的创建、删除和更新
1. 创建数据库和表:
使用CREATE语句创建数据库:
CREATE DATABASE shop;
该语句创建一个名为shop的数据库,使用该数据库:
USE shop (MySQL)
使用CREATE语句创建表:
CREATE TABLE <表名>(
<列名1> <数据类型> <该列所需约束>,
<列名2> <数据类型> <该列所需约束>,
<列名3> <数据类型> <该列所需约束>,
…
<该表的约束1>, <该表的约束2>, ...
);
示例:
CREATE TABLE Shohin(
shohin_id CHAR(4) NOT NULL,
shohin_mei VARCHAR(100) NOT NULL,
shohin_bunrui VARCHAR(32) NOT NULL,
hanbai_tanka INTEGER ,
shiire_tanka INTEGER ,
torokubi DATE ,
PRIMARY KEY (shohin_id)
);
创建好后,查看表的定义内容:
SHOW COLUMNS from Shohin; (MySQL)
2. 命名规则:
1. 数据库名称,表名、列名都使用半角英文字母、半角数字、下划线组成,并且以半角英文字母开头;
2. 同一个数据库中不能有同名表,同一个表中不能有同名列;
3. 表的删除,使用DROP语句可以删除表格和数据库:
DROP TABLE <表名>;
DROP DATABASE <数据库名>;
表在删除后无法恢复;
4. 表定义的更新:
使用ALTER语句更新表的定义:
ALTER TABLE <表名> ADD COLUMN <列的定义>;
如: ALTER TABLE Shohin ADD COLUMN shohin_mei_kana VARCHAR(100);
ALTER TABLE <表名> DROP COLUMN <列名>;
如 ALTER TABLE Shohin DROP COLUNM shohin_mei_kana;
ALTER TABLE <表名> MODIFY <列名> <修改后的定义>;
如 ALTER TABLE Shohin MODIFY id integer auto_increment;
5. 修改表名:
标准SQL并没有RENAME,各个数据库更改表名的语句分别为:
Oracle/PostgreSQL: ALTER TABLE Sohin RENAME TO Shohin;
DB2: RENAME TABLE Sohin TO Shohin;
SQL Server: sp_rename ’Sohin’, ’Shohin’;
MySQL: RENAME TABLE Sohin TO Shohin;
6. 向表中插入数据:
使用INSERT语句向表中插入数据:
INSERT INTO <表名> VALUES <每列的内容>;
如: INSERT INTO Shohin Values('0001','T-shirt','clothes',1000,500,'2009-09-20’);
通过 SELECT * FROM Shohin查看表记录
SQL基础学习_01_数据库和表的更多相关文章
- SQL 基础学习(2) Joining 和function , 作业没有做,需要看百宝箱。NOsql的概念
SQL 基础学习(2) Joining 可以同时关联(joining)多张表进行复杂的查询. 相比于用Rails捞出数据再用Ruby进行过滤组合,使用SQL更加高效,节能. 以下是 users has ...
- Oracle SQL 基础学习
oracel sql 基础学习 CREATE TABLE USERINFO ( ID ,) PRIMARY KEY, USERNAME ), USERPWD ), EMAIL ), REDATE DA ...
- SQL Server中查询数据库及表的信息语句
/* -- 本文件主要是汇总了 Microsoft SQL Server 中有关数据库与表的相关信息查询语句. -- 下面的查询语句中一般给出两种查询方法, -- A方法访问系统表,适应于SQL 20 ...
- day 46 Django 学习3 数据库单表操作以及反向解析
前情提要: Django 已经学了不少了, 今天学习链接数据库的操作.以及相关的反向解析等 一:反向解析 1:反向解析模板层 跳转时设定url会随着前面的路由改变而改变 2:反向解析之 ...
- SQL Server 动态生成数据库所有表Insert语句
一. 背景 SQL Server,如果我们需要把数据库A的所有表数据到数据库B中,通常我们会怎么做呢?我会使用SSMS的导入导出功能,进行表数据的导入导出,无可厚非,这样的导入非常简单和方便: 但是, ...
- SQL基础学习_04_视图
视图 1. 视图的创建 视图就是保存好的SELECT语句,这些SELECT语句执行之后会产生新的表,所以在SQL中,视图和表是不做差别对待的,也就是SQL也可以对视图做一些操作: 由于 ...
- sql server新旧数据库的表结构差异
sql server编写通用脚本自动检查两个不同服务器的新旧数据库的表结构差异 问题:工作过程中,不管是什么项目,伴随着项目不断升级版本,对应的项目数据库业务版本也不断升级,数据库出现新增表.修改表. ...
- SQL Serever学习11——数据库的安全管理
公司管理软件设计完成,但是日常工作繁忙,向领导提出增加几个管理员,帮助管理和维护系统,领导同意了,但是要求一定要管理好这几个管理员用户,保证数据库的安全. 修改身份验证模式 数据库验证机制 sqlse ...
- Linux基础学习-MariaDB数据库管理系统
数据库管理系统 数据库是指按照某些特定结构来存储数据资料的数据仓库,数据库管理系统是一种能够对数据库中存放的数据进行建立.修改.删除.查找.维护等操作的软件程序. 初始化MariaDB服务 [root ...
随机推荐
- hibernate log4j
log4j.rootLogger=warn, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender. ...
- JavaSE&&JavaEE&&JavaME的区别【Java中常用的包结构】
一.javaEEJavaSEJavaME用的同一个jar包吗? javaEE JavaSE javaME 用的JDK是同一个,开发j2SE工程的话只要有JDK就可以了,开发J2EE工程和J2ME工程除 ...
- Backbone简单示例
要的资源: <script type="text/javascript" src="../dep/underscore-1.6.0.min.js"> ...
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第8章节--配送SP2013Apps
BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第8章节--配送SP2013Apps 本章节你将学到: 通过SP商店配送Apps: 在商店授予证书并管理A ...
- Qt音乐播放器制作(二)Easy Player
两天没有公布新的动态.主要原因还是个人的生活和工作时间限制,如今赶晚贴出第二版. 先放个图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamFuNV9y ...
- 【SICP练习】151 练习4.7
练习4-7 原文 Exercise 4.7. Let* is similar to let, except that the bindings of the let variables are per ...
- 看看android基础知识,谁帮我作答
无论怎么着,了解一点android的基本知识还是有必要的,就当开阔一些自己的眼界吧. .. . android的四大功能组件是_activity_,_service_,_BroadcastReceiv ...
- Azure: 给 ubuntu 虚机挂载数据盘
在 azure 上创建的虚机默认会分配两个磁盘,分别是系统盘和一个临时磁盘.如果我们要在系统中安装使用 mysql 等软件,需要再创建并挂载单独的数据盘用来保存数据库文件.这是因为临时磁盘被定义为:用 ...
- 一位10年Java工作经验的架构师聊Java和工作经验
从事近十年的 JavaEE 应用开发工作,现任阿里巴巴公司系统架构师.对分布式服务架构与大数据技术有深入研究,具有丰富的 B/S 架构开发经验与项目实战经验,擅长敏捷开发模式.国内开源软件推动者之一, ...
- Springboot-添加对jsp支持
1,在项目的配置文件加入以下依赖 <dependency> <groupId>javax.servlet</groupId> <artifactId>j ...