数据库的基本操作

##创建数据库
##:注释
SQL
1.:不区分大小写
2.:字母,数字和_,数字不能在首位
CREATE DATABASE 数据库名称;

##删除数据库
DROP DATABASE 数据库名称;

##使用数据库
USE 数据库名称;

数据类型:MySQL按照分类大致分为:数值,时间|日期和字符串(字符)类型
INT或INTEGER 4字节
FLOAT 4字节
DECIMAL DECIMAL(M,D) M:有效数字 D:小数位

DATE 3字节 格式:1000-01-01/9999-12-31 日期值
DATETIME 8字节 格式:1000-01-01 00:00:00 (必须加中间的空格) 混合日期和时间值

CHAR 0-255字节 定长字符串 char(10) ‘你好’不够的补空格 占10个位置 超过10个报错
VARCHAR 0-65535字节 变长字符串 varchar(10) ‘你好’ 占2个位置 超过10个报错
BLOB 0-65535字节 二进制形式的长文本数据
LOGNGBLOB 0-4294967295字节 二进制形式的极大文本数据
LONGTEXT 0-4294967295字节 极大文本数据

##创建数据库表
CREATE TABLE 表名

列名 数据类型 [约束] , 中括号可省略
列名 数据类型 [约束] ,
… …
列名 数据类型 [约束]
);
例:
CREATE TABLE students
(
stuid INT PRIMARY KEY, 在key后面加上AUTO_INCREMENT,表示主键自增,不用管了
/主键约束
标识唯一,这一列的值不允许重复(一张表只能有一个主键)studentsstudents
/
stuname VARCHAR(4) NOT NULL,#非空约束
stusex CHAR(2) CHECK(stusex=‘男’ OR stusex=‘女’),#check约束
stuage DECIMAL(3,0),
stuphone VARCHAR(11) UNIQUE,#唯一约束
stuaddress VARCHAR(20) DEFAULT(‘西安市临潼区’),#默认值约束
stubirthday DATE,
studesc LONGTEXT
);

##创建临时表:在内存中存在的表,非持久化操作,服务关闭后销毁
CREATE TEMPORARY TABLE 表名

列名 数据类型 [约束] ,
列名 数据类型 [约束] ,
… …
列名 数据类型 [约束]

);

##删除表
DROP TABLE 表名;
DROP TABLE students;

##向表中插入数据

#1.单行插入
INSERT [INTO] 表名[(列字段列表)] VALUES(值列表);
INSERT INTO students VALUES(1,‘张三’,‘男’,22,‘120’,DEFAULT,‘2009-1-1’,‘随便写写’);
INSERT INTO students(stuname,stusex,stuid) VALUES(‘李四’,‘女’,2);
#插入注意:i:当省略列字段列表时,值列表按照物理列顺序,依次录入,缺一不可
ii:当书写列字段时,值列表按照列字段顺序依次录入,省略的列,以NULL填充,非空字段必须书写

#2.多行输入(不要使用自增)
INSERT INTO 表名[(列字段列表)]
SELECT 值列表 UNION
SELECT 值列表 UNION
… … …
SELECT 值列表;

INSERT INTO students(stuid,stuname,stuphone)
SELECT 4,‘HELLO’,‘111’,UNION
SELECT 5,‘HELLO’,‘122’,UNION
SELECT 6,‘HELLO’,‘133’;

#3.表复制
INSERT INTO 表名[(列字段列表)] SELECT 列字段列表 FROM 表2[WHERE 条件]; 不创建新表
CREATE TABLE 新表 AS SELECT 列字段列表 FROM 表2[WHERE 条件] ;
CREATE TABLE demo1 AS SELECT stuid,stuname FROM students; 创建新表
INSERT INTO demo1 SELECT stuid,stuname FROM students;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值