SQL详讲01

-- 创建数据库
CREATE DATABASE demo
-- 查询当前服务器上所有的数据库
SHOW DATABASES
--
USE demo
-- 当前数据库下创建数据表


CREATE TABLE student(
   stuId INT AUTO_INCREMENT,
   stuName VARCHAR(20),
   stuSex ENUM('男','女'),
   stuAge INT,
   PRIMARY KEY(stuId)
)


-- 删除当前的数据库
DROP DATABASE demo


-- 数据表
CREATE TABLE table_name(列的名称 类型 属性,)


-- mysql 数据类型
-- 整型


TINYINT(m) 1字节 -128 127 m 占用的宽度(实际的取值范围没有关系)
SMALLINT(m) 2字节 -32768 32767
MEDIUMINT(m) 3字节
INT(m) 4字节 
BIGINT(m) 8字节


-- 浮点型
FLOAT(m,d) 4字节 (m总长度 d小数位)
DOUBLE(m,d) 8字节
DECIMAL(m,d) m<65 d<30


-- 字符型
CHAR(30) 固定长度的字符 (3)字符数
VARCHAR(20) 变长字符 (20)字符数 
NCHAR(3) 固定长度的字符
NVARCHAR(20) 变长的字符
TINYTEXT 变长字符文本
TEXT 
MEDIUMTEXT 
LONGTEXT 


-- 二进制数据
BLOB 


-- 日期型
DATE 年月日(2017-10-22)
TIME 时分秒
DATETIME 年月日时分秒
TIMESTAMP 年月日时分秒


-- 枚举
ENUM 
-- 添加的值只能是enum定义过的值 只能取一个
-- 添加的值只能是set定义过的值 同时取多个
SET 类型




USE test


SHOW TABLES


DROP TABLE student


CREATE TABLE student(
   stuId INT AUTO_INCREMENT,
   stuSex SET('男','女'),
   PRIMARY KEY(stuId)
)


DROP TABLE student


INSERT INTO student VALUES(DEFAULT,'男')


SELECT * FROM student
  
-- 创建`demo`表  建模


-- 类()


-- 主键(当前数据的唯一标识)  
-- 主键原则()
  
CREATE TABLE student(
  stuId INT,
  stuName VARCHAR(20),
  stuSex ENUM('男','女'),
  stuAge INT,
  -- 主键列
  PRIMARY KEY(stuId)
)


-- 主键约束(值不能为null 只能不能重复)


-- 查询当前服务器上所有的数据库
SHOW DATABASES


-- mysql 服务器实例(一个物理计算机上可以安装多个mysql实例(服务器))
-- 一个标准的mysql实例 (一套DBMS 和 完整数据文件)


-- 一个mysql服务实例可以存在多个数据库(逻辑数据库 一个独立的存储单元)


-- 创建数据库
CREATE DATABASE test
-- 使用创建的数据库(切换当前连接的数据) 当前连接的数据库,只能查询到当前数据库的数据
USE test


USE information_schema


-- 查询当前数据库下的所有的数据表
SHOW TABLES


-- 数据表(存储数据  服务器 --> 数据库 --> 数据表)
-- 数据表(二维表的形式存储数据) 定义当前表的结构(列)


CREATE TABLE student(
  stuId INT,
  stuName VARCHAR(20),
  stuSex ENUM('男','女'),
  stuAge INT
)




DROP TABLE student


CREATE TABLE test(
   tid INT,
   tt FLOAT(4,2)
)


SELECT * FROM test


INSERT INTO test VALUES(1,34.56789)


DROP TABLE test


-- 插入数据
INSERT INTO student VALUES(2,'张三','男',22)
-- 查询数据
SELECT * FROM student


UPDATE student SET stuName='李四' WHERE stuId=1


UPDATE student SET stuName='王五',stuSex='女' WHERE stuId=1


UPDATE student SET stuName='张无忌'


-- 当前数据表的中数据全部删除
DELETE FROM student 
-- 只删除stuId=2 的数据
DELETE FROM student WHERE stuId=2




-- 整型
TINYINT 1字节 -128 127
SMALLINT 2字节 -32768 32767
MEDIUMINT 3字节 
INT 4字节
BIGINT 8字节


INT(10) (10)标识查询的时候占用的宽度(取值范围没有关系)


-- 浮点型
FLOAT(m,d) 4字节 m 当前总长度 d 小数位的长度
DOUBLE(m,d) 8字节
DECIMAL(m,d) m<64  d<30


-- 字符型
CHAR(4) 固定长度的字符型 (4) 长度
VARCHAR(20) 变长的字符型 (20) 长度
NCHAR(4) 固定长度的unicode字符
NVARCHAR(20) 变长的unicode字符
TEXT 文本
MEDIUMTEXT 中等长度的文本
LONGTEXT 大文本


-- 二进制
BLOB 二进制数据


-- 日期型
DATE 年月日
TIME 时分秒`mysql`
DATETIME 年月日时分秒
TIMESTAMP 带有时间戳的日期


-- 枚举型
ENUM


-- set
SET

ENUM('男','女')    '男'    '女'


SET('男','女')  '男'   '女'   '男,女'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值