- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 564692 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174630
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
MySQL数据库基本操作( R7 r' H# T5 F
9 }0 {1 h+ P& t! Z
目录9 n, R" G$ c' I0 |# Q2 b9 r9 P
0 Z1 P, V' R2 q6 K" b8 _4 b
一、SQL语句 (mysql 数据库中的语言)
2 x7 c" b4 e8 B: J8 a3 P& d5 N
; e+ u* }1 l0 \% i$ ]9 Q* ^9 S二、DDL! o) ]) ?+ ~$ c4 m U: V
% n8 |( Z, X5 g1 `3 g
1.DDL语句
+ n) C& J% A# q* F5 |; H0 L7 H7 A. r& ^. A5 ]
(1)创建新的数据库
N& e# i) t! v) ~# X6 V4 J) J7 D
! n8 U+ v: C! Z8 V- f- d(2)创建新的表
: `4 W; [ C3 ~* k4 w, {& ~" z* O9 ]" v( n5 ^$ X2 ?
2.删除数据库和表5 ]3 _+ F9 M' N6 k. t6 v6 M
& L0 O& T$ }. o9 F: e% u
三、DML
( ^- [+ e N0 ~, k' n
3 r0 y8 B" {( I: A1 n1.insert插入新数据
l. o: R. r3 i! f3 o3 B7 O9 Z/ C6 @, @# |# @
2.update更新原有数据
" a/ h: l1 `* @( z4 Q& A @3 Q5 F2 O* o7 w O
3.delete: 删除不需要的数据(表内容), n# x7 r0 A- M) Z! D+ x$ \8 a
/ z* L+ a9 }" \2 S: x四、DQL查询数据记录/ H I) V$ C" J! o; B
3 I* V# z& ~% K, J四、DCL
+ |' E- X* `5 o- L$ ]: n- b, U/ x6 @; b I3 h3 Z" D
1.alter 修改表名和表结构(表结构)
4 I8 ~# V; u6 C* z) ], t5 c/ F: U+ o; L
一、SQL语句 (mysql 数据库中的语言)
% @+ L9 C2 d& vshow databases;查看数据库% O- |- X4 Z' q2 G
use "database_ name" ;进入数据库
; Y0 ^% n Y$ A- z6 r5 |show tables; 查看当前数据库中有哪些表
' ?5 ]0 @- a1 _7 z; Pselect * from "table_ name";查询数据表中的所有内容
" j( `3 k2 {7 T" jdescribe "table_ name"; 查看表结构4 ?; x8 N1 a1 H# E9 c7 A, w+ x# Y# f; E
desc "table_ name";
1 A% |) }( V2 H! l+ q& |$ z: ~- t2 W2 G- u, f/ h" T. R
& {$ F9 ^" \# e% V
7 e8 u. _: A' e6 |% {
! V: I. ^ w3 |7 |- l0 K9 c7 q8 H% q) N4 `) D9 K, S
" Y' ~9 i0 E& v7 e# f2 y; [5 `, m/ y+ }) a7 k1 S/ I
) _9 u2 H" A8 e: _, w+ _
" S- L& V% d2 _, C0 | Q- p1 X8 g& p( S8 B/ M6 F, t/ [# q
. k! M9 y* d. M9 o3 Y9 `, b
) ~+ w9 f$ g6 C3 Y$ P/ r1 w: d7 H
' c' e7 y# I2 n. I# u
* i1 g b6 ~+ y- o
类比excel表格4 i7 J* @" @' w$ R
5 k4 t9 v2 [2 ^$ ~) ]0 |) K, {* b E/ v- E$ v
/ e) r# S2 L- v9 T/ Y* `! ]
/ W8 G3 w; B8 K$ O. H5 M: c
0 L, Z/ d3 A; |8 {( s/ w- |4 Z6 g' ?* s, M6 F* t4 d6 {0 {" C
# O+ `) ?5 @4 w) |
% k. W- n) @0 m8 l
1 H' I- U8 n& o$ R 类比excel表格" k3 K7 I! ^! O- q; E& [
$ N" V# N y$ [! X4 ^# @
- W! G3 a- y7 E0 U5 h+ x* W2 B9 f; d. q8 F' U m* O9 k7 v: ^
& @. |) k! }5 t) d: p8 y5 f) S4 j3 {5 G9 V2 A0 E4 D
简写
! l, ^; j3 |! ?7 R# x- Z u9 q! g' N! d
filed 字段名8 C$ n7 V @/ B! ~0 j5 A
' E$ G* D8 v/ T$ {5 y9 x, T3 ~+ h% b' J4 Z8 I6 O, I
7 D3 u. z8 w$ q. v1 w9 ?% i二、DDL! \8 s t$ n6 r6 Z+ M+ F3 {
1.DDL语句. Z3 J# Q; v9 g* q
用于创建数据库对象(库、表、索引等)
' P( @1 d& E9 `, s
% ], x, x) w/ }1 w1 m(1)创建新的数据库9 a1 O- V* @. {; Z; \ N
create database 数据库名;2 e! b2 H" x& L3 k( F
) O0 K8 e# j9 X( L0 `$ @5 V
(2)创建新的表, }& C" h/ E+ ~4 W9 m
create table 表名(字段1 数据类型,字段2 数据类型[, ...] [, primary key (主键名)]);4 i0 Z7 h Q- ?9 q. D! B
主键一般选择能代表唯一性的字段不允许取空值(NULL) ,一个表只能有一个主键。
, A1 x) {2 D+ P. r) t% ~9 c3 J8 l; i1 D% W, k- M
create database 数据库名;/ Z F' n: B' |2 u% M1 N: I4 p7 r
use 数据库名;6 ?0 m) j# b' g5 K9 L
create table 表名 (id int not null, name char(10) not null, score decimal (5,2) ,passwd char (48) defalt' ',primary key (id)) ;6 W& y) e9 z* E3 v4 i0 t: i0 F- C
4 w$ e8 ~6 |* o
desc 表名;
2 S2 H! r1 j* p; z. l. X6 @- T
: [8 X# d, D" Anot null 不允许为空值
- h' w c D+ Y0 ]; [1 X3 S8 |( L; o" A5 w! @+ ~
default ' ' 默认值为空; T" O! e' M, T2 l3 B$ a
+ r* k5 U1 c" }* ~. t9 Nprimary key : 主键一般选择没有重复并且不为空值的字段8 J% h$ z0 p% s% h# p
8 x, \$ @# z7 @1 p例子
, @) f+ ~/ B% F3 @5 }$ `create table 表名 (id int(10) not null primary key, name varchar(40) ,age int(3));
% R% S1 G" k# u* E* |7 {3 ?: F0 icreate table food (id int(3) , name varchar (40) ,money decimal (3,1) ,primary key (id));
% Z ]* c$ R2 c% [8 Y
0 {. e$ j5 t/ X" X) V; ?6 K2 E8 x% }$ [: E' f2 e, `
% ], M, e9 E* W2 [
5 L( _% `( m W. k& h) w
9 P+ v8 w; p8 H0 { N
9 P) r z, A& ^1 X9 R
8 x$ m7 B7 H5 R6 [: i) B( q, f! d9 X! Z0 w+ S! E2 L
0 O" _8 E. E) l) R6 R
6 L: R8 b" D. d0 p. _ 2.删除数据库和表+ Y% o! i& \" t( C0 j$ Z, Y
删除指定的数据表
/ F. J: k, G9 c7 k
! b. k; v/ w0 L7 D% t# adrop 删除表内容(数据)和表结构: j, W/ e$ a4 |; b3 V! D
& o7 w" Q }& Q6 y( \. C
use 数据库名
( j* u9 \5 u& d3 q! ]5 gdrop table 表名
2 f4 s0 E4 [& _drop table [数据库名.] 表名;
- f( \/ F6 @, B如不用use进入库中,则需加上数据库名+ Q* G7 |7 c7 I6 n' L
删除指定的数据库
' l1 e: v9 u4 ]drop database 数据库名;
" y" T0 L3 a" z# S% I
7 e' C" P. J. H; K& E/ x) H1 U0 B/ ^1 O# _2 v& l
; _' e1 y! Y: ~+ W( `4 l w K- H
4 ?( w) x+ d: U7 Z/ q9 b( {; d. Q( r1 _! A' S+ ?; H' }2 w
- d# o V ?- s7 E5 w
, e4 n, r5 k3 p
; R8 Y1 s& `; `: f9 }' ?* ^2 O3 Y# B, D% H) g% _- x6 i
( ]1 F+ c" k2 N& b$ s; g: e# E# I
' [. z0 ]# J; q' U5 X
+ d' D {& a* e0 C) I/ r
0 q- `0 p! A# y, w0 m
/ Z9 l% M ^* H: n& V7 Z# b
) W2 s0 S+ {& e 三、DML/ X$ N5 }0 j G) w5 Z) t
管理表中的数据记录7 A) f; ^, W# z! `
9 ^3 q( ~. k4 G# F4 }- x: L( z
insert: 插入新数据5 K0 E, W. |4 P5 r# v/ U4 W+ }
update: 更新原有数据
7 F: H& I: S! Q' sdelete: 删除不需要的数据7 q5 y& ?6 v( q" ~& ?
1.insert插入新数据# k! u, q- |4 H- ~' h
格式:
$ `3 E1 t b; B+ A0 m4 u: G; M, }
insert into 表名(字段1,字段2[,...]) values (字段1的值,字段2的值,...);1 |' r& Z$ x4 }* a$ r
; |6 T4 b5 D. r" h例子:% s4 Y- e) A3 F2 N, |
insert into 表名 (id,name,score,passwd) values (1,'自定义',70.5,passwd('123456')) ;: T2 P- G( R) y* i# {2 i& G! }& N
6 t9 L) m0 k. }: q1 p' e
passwd('123456') :查询数据记录时,密码字串以加密形式显示:若不使用passwd(), 查询时以明文显示。" w7 ?+ ?: ~2 F$ b; @& T
2 n# g# H! [: B6 U& I5 \9 [密码复杂性验证
/ U9 i M0 K- Y" h. M3 o0 Y4 t( l* m N; {3 G8 l
insert into 表名 values(2,'自定义',90.5, 654321) ;
; ^& n/ y: R l* }4 Q9 vselect * from 表名 ; 查询表的数据记录
# D2 M- }! P, S7 u
; U' Q5 ~# V" @% M5 P! winsert插入表数据7 x8 f, F* d/ V8 p" d# e0 `3 j. l0 w
' @- Y3 u" J. s8 r1 ~! R
在此之前需要进行查看desc table_ name; 来查看表结构(有哪些字段,有无主键,主键是哪个字段,type,是否允许为空,是否有默认值)3 L! } D R; M3 d) @, n
j* C- \4 N& ?- @/ L3 H使用insert into table_ name进行插入,是根据查看到的表结构来判断,可以怎么写
; N) r8 ]+ a! N9 n* \
# D, o0 g0 l) D; O; D/ K6 D
" H8 \4 Y8 \- k0 r2 p. j
: J9 U5 ~( V ^% y. V K
8 @4 s7 k2 u8 n# s% o, `2 F' L. U; J4 Y) S! H9 ^
- R) v7 K. s; n9 n& q) g5 N) y! I9 Y$ t+ D/ ~. L L: }9 H, e
2.update更新原有数据
: t n; y4 j3 n+ H! }" l修改、更新数据表中的数据记录2 \2 ^3 [) v1 D- I! V5 R0 V! W
/ f+ S7 ]5 o. m' t
格式:3 D6 j* f$ E, J# M: G7 O p, z
update 表名 set 字段名1=字段值1[,字段名2=字段值2] [where 条件表达式];
8 N5 a0 z* `2 ?# A1 T
0 p& ^$ K; L7 Q5 B8 B0 k% Y, F例子:
' d* V8 T, S. P! R' h! E. G/ o. Uupdate 表名 set passwd=PASSWORD('') where name='自定义';
- }( F4 B) _) Mupdate 表名 set name= '自定义' , passwd='' where id=3;( s$ T6 y ?3 {. o1 [
( X3 ` F$ g, v
' I% c* H1 O8 n' l
8 ~/ d0 h4 K5 ~3 f# l% h+ k& x0 c" I
$ C* [: v5 Q4 z d- L+ ? r
3 y; X/ Q+ K6 f0 q9 T
5 D* U8 X4 l' B3.delete: 删除不需要的数据(表内容)
5 t- F' M* g/ c, d在数据表中删除指定的数据记录(行)
5 `! s: P( x$ {% m3 p) M) |3 u# B) B
格式:.
3 ]6 _ A& b* w2 h. R
$ _, v8 G' q8 P6 U+ qdelete from 表名 [where 条件表达式];+ r9 o7 E5 }. L2 C7 f
, `% |1 O" m o! a m5 M
例子:
. k% H, y- d8 X+ A0 G7 `9 ]! ]7 L- v/ B) C7 f+ @
delete from 表名 where id=4;
- R9 `1 n" j; I! s8 u5 Y; O/ g) y8 D( s! A: Y5 L: ]$ p9 Q
% H* y1 M2 q1 O* w; w6 s% L四、DQL查询数据记录$ R i/ I7 Y: i# L7 P$ e
select* Q# F* n9 i2 N0 b f/ y
2 w; r' g; p E g' F
格式:
: b& s' I/ h- e3 T: A% L/ x
- B3 Z9 l# v2 t0 S) P9 W1 Sseleect 字段名1,字段名2[,...] from 表名[where 条件表达式];. J1 `% J7 a+ `% L: k! C8 p0 D7 s
3 L Y% G8 @& J9 N0 w2 @, A例子:% y; v* @; E$ |* j1 B! y
seleect * from 表名;
% a; c4 a9 N, \! _seleect id, name from 表名;
9 r1 P2 M3 g; }/ v2 l; y- @1 A# Wseleect id, name, score from 表名 where id=2;
6 V8 P @0 X }1 n; b6 S9 \; p6 N& E4 }) y! L' P% {. q) `, J
select name from 表名\G 以列表方式竖向显示' n9 e. a$ g( p1 K) a. I# k% V7 z
select * from info limit 2; 只显示头3行( _: {4 O/ m0 `& P5 A
select * from info limit 2,3; 显示第3行后的前3行
, P: g# D4 p Y) Q. U5 l3 C7 m' R, Z8 R
X D8 |* m% I( J" j2 K8 h
7 `% s0 C$ F! W \" G6 n
+ J8 O# [- n9 W+ y( g# B- l4 s4 R5 J% l. O- D8 q d: I& d
! }$ L4 }' G# X; r类比excel表格- ]0 F' O' O, @, o4 _
; F0 }: C; b5 E- U& g' q
7 Z) F9 _2 J* B; O! @: S
* G( o- P1 I* V1 y四、DCL
& Z- I; Z1 _8 c' K4 n1 p) S1.alter 修改表名和表结构(表结构)
6 ]* c* k: }* j8 a: T, Ualter table 旧表名 rename 新表名;
4 \+ y' [9 b( w; \) T, ?% Y4 u; H% l1 U0 U' x
扩展表结构(增加字段)
4 a% T1 p2 C' P* N% Oalter table 表名 add address varchar(50) default '地址不详' ;
, _( c z$ B2 W4 G$ K, ^default ' 地址不详':表示此字段设置默认值为地址不详,可与not null配合使用
/ [) Y, h& U+ _! f& F, Galter table 表名 add address varchar(50) not null default '地址不详' ;' v' z, `% T+ ~& F
& D+ D# |6 S* \( r/ c1 M修改字段(列)名,添加唯一键(唯一性约束)/ V3 j9 O2 a! ~% P, z8 V
alter table 表名 change 旧列名 新列名 数据类型 [unique key] ;
6 I7 n" Z. E8 ~, Y9 g/ t& kunique key:唯一键(特性:唯一, 但可以为空,空值只允许出现一次)
5 k* d" O+ k T) F1 Q/ pprimary key (主键) :唯一且非空
' C# r2 U) B8 b' o* \/ Ralter table 表名 change name user_ name varchar(10) unique key;
+ G- @ ]; }9 t5 Tchange可修改字段名、数据类型、约束等所有项。
# n( S' x$ n" [) n) q& E- O
, s0 a F- ^9 g$ @/ o( S0 x删除字段
1 i' Y* E+ M% ?7 |5 Y5 s! B( g格式:4 K4 ^9 G1 |) P( n: m( z
alter table 表名 drop 字段名;5 @) l O: ~# o/ l: R7 n$ n; K+ `. y
, |* e1 U* h' u6 Q———————————————— H9 k/ Z. f- g" B: b
版权声明:本文为CSDN博主「Drw_Dcm」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。) e/ g @) J2 c) ^: o! ^$ B3 Q& P
原文链接:https://blog.csdn.net/Drw_Dcm/article/details/126770177 b( t+ e6 _5 M+ Q! u8 U% c
; N. X2 ]$ J/ C* K4 O4 a4 E& z! A
+ v9 }/ x3 R1 D" j |
zan
|