2019-06-17 SQL基础应用

1.SQL介绍

结构化查询语言。

SQL标准:SQL92    SQL99

5.7版本,SQL_Mode 严格模式

2.SQL的作用

SQL用来管理和操作MySQL内部的对象:

库:库名,库属性

表:表名,表属性,列名,记录,列属性和约束


3.SQL语句的类型

DDL:数据定义语言

DCL:数据控制语言

DML:数据操作语言

DQL:数据查询语言

4.数据类型

4.1 作用

控制数字的规范性,让数据具有具体含义,在列上进行控制。

4.2 种类

字符串

char(32):定长长度32的字符串。存储数据时,一次性提供32字符长度的存储空间,少的用空格填充。

varchar(32):可变长度的字符串类型。存数据时,首先进行字符串长度判断,按需进行存储空间的分配,会单独占用一个字节存储字符长度。长度超过255,需要两个字节长度记录字符长度。

enum 枚举类型

数字

tinyint       从 0 到 255 的整型数据。存储大小为 1 字节。

int             从-2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字),存储大小为 4 个字节。

时间

datetime

timestamp


5.表属性

存储引擎:engine = innoDB

字符集:charset = utf8mb4


6.列的属性和约束

主键:primary key(PK)

非空 not null

唯一:unique    不能重复

索引

自增 auto_increment

无符号unsigned

注释 comment

7.SQL语句应用

7.1 DDL数据定义语言

7.1.1 库

1.建库

create database 库名 charset utf8mb4;

show databases;

show create database 库名;

2.改库

alter database 库名 

7.1.2 表

建库建表规范:

1.库名表名是小写字母

2.不能以数字开头

3.不支持—,支持_

4.内部函数名不能使用

5.名字和业务内容相关

(1)建表

create table oldguo (

ID int not null primary key AUTO_INCREMENT comment '学号',

name varchar(255) not null comment '姓名',

age tinyint unsigned not null default 0 comment '年龄',

gender enum('m','f','n') NOT null default 'n' comment '性别'

)charset=utf8mb4 engine=innodb;


(2)改表

alter table  表名  add  telnum  char(11)  not  null  unique  comment  '手机号'; ##添加列

alter table 表名  drop  列名;##删除列(危险!不带表生产操作)

alter table student add wechat varchar(255) not null unique comment '微信' after id;##在指定列后添加列

alter table  表名 modify  属性名  varchar(128)  not null ##修改表属性

insert into  表名  values (##根据表内列的内容依次录入,以逗号隔开,字符串加单引号,数字不加单引号) ;##最简单的方法插入数据

insert into 表名(##要录入的列名,以逗号隔开) values (##根据指定的列内容依次录入,以逗号隔开,字符串加单引号,数字不加单引号)##最标准的插入数据

update 表名  set  要修改的列内容 where 指定列 ;##修改已存在的数据

(3)查表

desc 表名;

(4)清空表数据

方法1:

truncate  table  表名;

truncate物理删除,将表段中的区清空,不会产生碎片。性能较高。

delet  from  表名;

delet 逻辑删除,逐行删除,不会降低自增长的起始值。效率低,会产生碎片,影响性能。

方法2: 使用update代替delete进行伪删除

1.添加状态列state(1代表存在,0代表删除)

alter  table  表名  add   state  tinyint   not null  default  0;

2.使用update模拟delete

delet  from  表名 from  id=6;替换为

update  表名  set state=1 where id=6;

select  *  from  表名;

3.查询语句修改

select  *  from  表名;改为

select  * from 表名  where  state=0;



面试题:

1,char和varchaar的区别?

(1)长度var是255,varchar是65535

(2)定长,变长

2,char和varchar如何选择?

(1)char类型,固定长度的字符串列,比如手机,比如,手机号,身份证号,银行卡号等。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335