SQL语言基础复习

一、概述

SQL语句注释方式

1)以“#”开头直到行尾的所有内容都是注释

2)以“--”(--后还有一个空格)开头直到行尾的所有内容都是注释

3)以“/*”开始,以“*/”结束的所有内容都是注释,可用于注释多行

二、数据库操作

1、创建数据库

create database db_name;

db_name命名规则:

1)名称可由任意字母,数字,”_”或”$”组成,可以是上述任意字符作为开头,但是不能单独使用数字作为数据库名称。

2)长度限制:数据库、表、列和索引的名称最多64个字符,别名最多可长达256个字符。

3)不能使用MySQL关键字作为数据库、表名。

2、删除数据库

drop database db_name; #drop
下降,终止

他将不可恢复的删除数据库及其所有数据表,建议在使用drop
database前,先对数据库进行备份

三、表的操作

1、创建数据表

create table <表名>

(<列名> <数据类型>
[<列级完整性约束条件>]

[,<列名> <数据类型>
[<列级完整性约束条件>]]...

[,表级完整性约束条件]

);

拓展:create temporary table...
#创建临时表,临时表在服务器交互结束时会自动删除

2、修改数据表

指:修改表的结构,使用alter talbe语句来修改表中列的属性,甚至修改表的名称

alter talbe <表名>

[add <新列名> <数据类型>
[完整性约束]]

[drop <完整性约束>]

[alter column <列名> <数据类型>];
  #alter修改,更改

3、删除表

drop table table_name;

drop table if exists table_name;

四、记录的操作

1、插入数据

insert into <表名>

[(<属性列1>,<属性列2>...)]

values(<常量1>[,<常量2>...])

e.g. insert into student_info(stu_id,stu_name,str_sex,str_age)

values(234,”xiaofang”,”男”,18);

2、更新记录

update <表名>

set <列名>=<表达式>[,<列名>=<表达式>]...

[where<条件>];

说明:update语句包括set子句和where子句,set子句指定修改方式,要修改的列以及修改后的取值,where子句用于指定钥修改的数据记录,默认修改表中的所有记录。更新语句的关键就是要设定好用于进行判断的where条件!

e.g. update student_info set str_age=22 where stu_id = 9028;

3、删除记录

delete from <表名>[where
<条件>];

说明:如果用户在使用delete语句时不设定where条件,则表格中的所有记录将被清空!

delete from student_info where stu_id = 9028;

五、查询

select [all | distinct] <目标列表表达式>[,<目标列表表达式>]

from <表名或视图名>[,<表名或视图名>]...

[where <条件表达式>]

[group by <列名1>[having
<条件表达式>]]

[order by <列名2>[asc|desc]];

六、学生选课系统数据库设计流程示例

1、数据库设计流程:

系统分析--->逻辑设计--->物理实现

2、系统分析

3、逻辑设计

MySQL学习笔记_8_SQL语言基础复习的更多相关文章

  1. Java学习笔记:语言基础

    Java学习笔记:语言基础 2014-1-31   最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...

  2. ios开发学习笔记001-C语言基础知识

    先来学习一下C语言基础知识,总结如下: 在xcode下编写代码. 1.编写代码 2.编译:cc –c 文件名.c 编译成功会生成一个 .o的目标文件 3.链接:把目标文件.o和系统自带的库合并在一起, ...

  3. Arduino学习笔记② Arduino语言基础

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  4. ndk学习之C语言基础复习----虚拟内存布局与malloc申请

    在这一次中来学习一下C语言的内存布局,了解它之后就可以解释为啥在用malloc()申请的内存之后需要用memset()来对内存进行一下初始化了,首先来了解一下物理内存与虚拟内存: 物理内存:通过物理内 ...

  5. ndk学习之c++语言基础复习----面向对象编程

    关于面向对象编程对于一个java程序员那是再熟悉不过了,不过对于C++而言相对java还是有很多不同点的,所以全面复习一下. 类 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程 ...

  6. ndk学习之c++语言基础复习----C++容器、类型转换、异常与文件流操作

    继续来复习C++,比较枯燥,但是这是扎实掌握NDK开发的必经之路,不容小觑. 容器: 容器,就是用来存放东西的盒子. 常用的数据结构包括:数组array, 链表list, 树tree, 栈stack, ...

  7. ndk学习之C语言基础复习----基本数据类型、数组

    关于NDK这个分类在N年前就已经创建了,但是一直木有系统的记录其学习过程,当然也没真正学会NDK的技术真谛,所以一直也是自己的一个遗憾,而如今对于Android程序员的要求也是越来越高,对于NDK也是 ...

  8. MySQL学习笔记01_数据库基础知识

    01_1 mysql数据库启动与停止 以<管理员权限>启动cmd: 输入net stop mysql停止mysql服务: 输入net start mysql启动mysql服务: 输入mys ...

  9. MySQL学习笔记_5_SQL语言的设计与编写(上)

    SQL语言的设计与编写(上) 一.SQL语句分类 数据定义语言(DDL): 用于定义和管理数据对象,包括数据库.数据表.视图.索引等.例如:CREATE.DROP.ALTER等语句. 数据操作语言(D ...

随机推荐

  1. Android APT(编译时代码生成)最佳实践

    越来越多第三方库使用apt技术,如DBflow.Dagger2.ButterKnife.ActivityRouter.AptPreferences.在编译时根据Annotation生成了相关的代码,非 ...

  2. CRM客户关系管理系统(五)

    第五章.分页功能开发 5.1.修改BaseKingAdmin和完善前段页面显示 现在访问没有注册的model会报错,因为基类中没有写list_display和list_filter. 在基类中设置一个 ...

  3. Python3 CGI编程

    什么是CGI CGI 目前由NCSA维护,NCSA定义CGI如下: CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如:HTTP服务器,提供同客户 ...

  4. 从输入url到页面返回到底发生了什么

    1. 前言 Google应该是开发者平日里用得最多的网站之一,今早笔者在浏览器地址栏里键入www.google.com的时候,突然想了解下这背后的网络通信过程究竟是怎么样的.毕竟自己也算是一名Web开 ...

  5. 让你的代码量减少3倍!使用kotlin开发Android(一)

    让你的代码量减少3倍!使用kotlin开发Android(一) 创建Kotlin工程 本文同步自博主的私人博客:wing的地方酒馆 写在前面 使用kotlin开发android已经两周多了.得到的好处 ...

  6. Cassandra User 问题汇总(1)------------repair

    Cassandra Repair 问题 问1: 文档建议每周或者每月跑一次full repair.那么如果我是使用partition rangerepair,是否还有必要在cluster的每个节点上定 ...

  7. load balancer 配置参考

    https://wiki.ewu.edu/oit/Load_balancing_using_nginx

  8. Hibernate之实体关系映射

    延迟加载与即时加载 例如Person类和Email类是一对多关系,如果设为即时加载,当加载Person时,会自动加载Email,如果设置为延迟加载,当第一次调用person.getEmails()时才 ...

  9. JVM常量池和八种基本数据及字符串

    迄今为止看到的对常量池和字符串最为透彻的解释,赞一个! 常量池(constant_pool)指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据.它包括了关于类.方法.接口等中的常量, ...

  10. Android初级教程:使用xml序列器

    之前备份短信的时候生成xml都是手动拼写的,有一个问题:当短信里面存在</body>这样的标签的时候,最后结果就不是完整的xml文件,显然出错.但是,今天使用序列化器的方式,就能有效的解决 ...