SQL语言
- 一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系型数据库系统,其中又分有三种不同的分支:DDL、DML、DQL下来我们将对着三种语法进行深入的学习。
DDL
- DDL即Data Definition Language,数据(结构)定义语言:
- 其功能有:
- 创建数据库
CREATE DATABASE IF NOT EXIXTS scholldb CHARSET utf8 - 删除数据库
DROP DATABASE IF EXISTS schooldb - 修改字符集
ALTER DATABASE schooldb CHARSET qbk - mysql中,数据库一旦创建名字就不可修改了。
一些基本概念:
-
数据表:
是构成关系型数据库的基本元素,由列和行组成,每一个表都有表头和表体 -
字段:
是表里的一列,用于保存每条记录的特定信息 -
记录:
也被称为一行数据,是表里的一行数据 -
设计表:
对于具体的某一个表,在创建之前,需要确定表的下列特征:
表名
表中字段
字段的数据类型和长度
哪些约束char(n) 长度为n的定长字符串,最大长度为255 varchar(n)最大长度为n的可变字符串 date 日期 年月日 datetime 日期 年月日时分秒 数据类型: TINYINT SMALLINT MEDIUMINT INT BIGINT deciaml 数据类型(M,D) M:精度,数据的总长度 D:标度,小数点后的长度 TEXT 约束
创建一个表
-
创建表的语法: CREATE TABLE student( -- 对列进行描述 number INT PRIMARY KEY(-- 添加约束条件), -- 主键列可以唯一的表示某一行数据 -- mysql中主键可以设置为自动增长AUTO_INCREMENT -- NOT NULL 不能为空的约束 -- UNIQUE 唯一性约束 -- 最大只能存储六个字符 NAME varchar(6), -- char(n) 定长的字符串 固定存储n个字符,长度如果不够n,默认补空格 gender CHAR(1), birthday DATE, phone_number VARCHAR(11), height DECIMAL(3,2), reg_time DATETIME -- 最后一个列不加, ) --删除表结构 DROP TABLE [if exists]student -- 表中数据也一并删除 -- 更换表名字 RENAME TABLE student TO stu -- 复制表结构 CREATE TABLE a LIKE b
DML
-
DML:Data Manipulation Language,数据操纵语言,负责增删改查的功能
INSERT INTO student(NAME,gender,birthday,phone,height,reg_time) VALUES('詹姆斯','男','1985-2-3','1522222333',1.98,NOW()) INSERT INTO student SET NAME='科比',gender='男',birthday='1986-2-3',phone='156333333' INSERT INTO student(NAME,gender,birthday,phone,height,reg_time) VALUES('库里','男','1998-2-3','1522253242',1.88,NOW()), ('欧文','男','1995-2-3','1522226343',2.12,NOW()) INSERT INTO stu(number,NAME,gender,birthday,phone,height,reg_time) SELECT * FROM student -- 修改记录 UPDATE stu SET NAME='c罗',height=1.70 WHERE number = 1 -- 删除 DELETE FROM stu DELETE FROM student WHERE number = 2 INSERT INTO student(NAME,gender,birthday,phone,height,reg_time)VALUES('杜兰特','男','1985-5-3','152222223',1.98,NOW())
DQL
- DQL:Data Query Language,数据查询语言:
- 这里方法语句比较多,只提供一个例子:
-
数学函数 SELECT NAME, gender, ROUND(height), CEIL(1.1), FLOOR(1.9) FROM student