- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 563274 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174205
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
MySQL数据库基本操作
: |) W6 Y8 o( R- E) d0 N, N
% d: ^& M! q+ ^9 m' |& T. ~& Y目录: s6 w ?- n( T+ v# k: u7 q
; A8 g, D; ]" x6 L' `
一、SQL语句 (mysql 数据库中的语言)
8 K+ D" T/ J) q* u x- j% ~- t P& U5 J
二、DDL# Q6 Y2 h! D. e; w; H/ d
: L* L! j0 ?" h, b' d6 u( a5 m1.DDL语句& }2 [- `2 I4 S# A1 Z) U
( l% [2 j7 O8 K' T! q
(1)创建新的数据库
- n C/ h; f% B# ^( a. b3 O! d/ n# z% L% o( {
(2)创建新的表/ Y9 k( W) y5 u" j9 i3 E! D
. t, x# }, Y8 o/ t+ d8 a! h( O. I 2.删除数据库和表% V, f+ O3 p; g# f
! h% f8 n! l1 g: j/ n: O 三、DML
% I+ R2 T% N( I
" n5 E6 c' \2 j1.insert插入新数据 M- d0 u, x8 M" n% C. l5 o* O
H+ A# Q4 P+ X! v G K1 k; I2 ^2.update更新原有数据! ?2 x& @& z' f( G
. d' p5 p: q" z, t4 k/ Z, P
3.delete: 删除不需要的数据(表内容)
9 ^$ ] e7 n& `* a1 R# r2 T" z5 w" J* ?, i( x- q
四、DQL查询数据记录. O4 g# R7 N/ q3 I6 j% C+ p
. F& K+ u, I$ ?% f# Q
四、DCL % B3 a1 L& I5 g. O# m7 v" e- m
0 Z0 g5 F0 a0 T8 u; G) G
1.alter 修改表名和表结构(表结构)
5 {% |+ Y; A, y* V8 R. ]
3 d; R; k; @, c$ e' ~* I& R. h一、SQL语句 (mysql 数据库中的语言)
. Y: h! }% \1 f/ Pshow databases;查看数据库
2 v8 w; [# H) }: Y$ H2 Cuse "database_ name" ;进入数据库
4 f9 a1 F) P, j* t }5 xshow tables; 查看当前数据库中有哪些表4 \7 g. o- A( n% W) c
select * from "table_ name";查询数据表中的所有内容
( L: N; A/ x9 ?, f# S& L( W" g" \describe "table_ name"; 查看表结构
2 u* s" Q! E& r9 j* C, F2 X L; C2 Tdesc "table_ name";1 U0 [5 j- x" b# q
5 U1 u/ h3 E8 k$ }3 ]& U
9 @8 W/ |/ M; \9 D
) Y' Y9 U ^6 u/ }1 @5 N o8 p; b
5 r2 f) A d+ t# h) t1 G) `- W1 Y2 X
( e# s: @) H/ Z
0 a6 k. ]6 x4 E
5 ?* L, _( @2 D; M8 M0 R2 t" A9 L8 h8 X# M7 C6 y
2 F, I% j5 M3 A* Q# m4 I( A
$ ^) M& d+ x9 `4 v- n
4 i: r0 E- L2 b; W. Y& K+ H" a; R m M# c. i* l, y' s6 T
$ F2 G, E5 S" _( f: _: J! X7 I类比excel表格5 \( F0 A/ h8 A$ y( G
6 c3 [, b7 [; ]2 G% x! d9 P5 e" V
3 W: a) d f4 w
) `) Y7 i+ q) Q. B2 x: |9 Y' K
; B1 d/ D; N0 ]* s
9 W3 f2 M5 k9 j1 R5 V
2 ^* w# ^1 z2 I0 @ b/ z. m
, b3 p/ }, v; W2 `3 A' S
9 Y! W: N2 D) D9 r" T* L- Y! Q/ _; I# D/ |
类比excel表格0 ?* p0 |/ J. f' _
8 Q. z" h& r* O3 w/ {9 a- H5 c* \0 x$ J" M9 G8 S. o/ p) v
) n' ~6 v; ~7 y+ n4 K/ F% E: a# e" Y+ [ A" R* @
0 V& ^4 J) ?6 }. J- r7 E. U2 }7 ~
简写 0 e' ?3 p4 e/ C4 a% }7 I4 o4 c
2 ?$ J( D" q+ v' v8 hfiled 字段名
( F# E9 a! W# F6 c
$ F" M6 q* Z! u" Q8 O! G$ ?- o
5 x% q4 L/ R- V" e/ L二、DDL Y) \0 k+ X9 M/ C7 a; y w
1.DDL语句9 \9 U" C" a+ P( a
用于创建数据库对象(库、表、索引等)4 h9 i* N2 }7 J# P2 v+ h
: c. v6 k- T' l5 ?6 w
(1)创建新的数据库
0 p; }& U0 ?5 s$ ^create database 数据库名;
# i( T! R' b' ?6 G0 A( G. e$ y1 C$ c; N6 F
(2)创建新的表
( ]3 O+ `' N" o/ ~0 Qcreate table 表名(字段1 数据类型,字段2 数据类型[, ...] [, primary key (主键名)]);/ \0 C# E. `: {+ r S: _( |2 t
主键一般选择能代表唯一性的字段不允许取空值(NULL) ,一个表只能有一个主键。
0 b4 H0 j! D0 |9 E; p$ R' K+ m5 R7 [
create database 数据库名;
) F: @! q/ u. m# m* n7 M6 u5 ause 数据库名;
& s3 r! d8 e/ n- S0 b8 m, {. vcreate table 表名 (id int not null, name char(10) not null, score decimal (5,2) ,passwd char (48) defalt' ',primary key (id)) ;5 N/ Z# I. F4 j; n; |
! D( T- T: Q& l) v
desc 表名;
6 E& e2 _+ c8 Y2 r. t6 V" y. l6 H
not null 不允许为空值
% k* L# z4 }) x
+ R X+ W' p" k$ Q" u8 b9 ydefault ' ' 默认值为空
3 c- U8 j, n; q7 i R# K' L1 |3 \1 [- z+ ^& F6 R
primary key : 主键一般选择没有重复并且不为空值的字段) c' X& H6 k$ e
$ i7 V) N( G# a* b8 ~' H! }+ l
例子
6 X& P* Q3 H. C1 h; Dcreate table 表名 (id int(10) not null primary key, name varchar(40) ,age int(3));4 b4 l" P a+ U$ F7 ~, H
create table food (id int(3) , name varchar (40) ,money decimal (3,1) ,primary key (id));1 V: g4 S1 M! ?8 q
: U- C2 B: k6 j! U$ \: [) e, D: v
* M$ t; _4 N( T# g
, O5 y( V' N, m B0 T; M: b% x8 b$ P( }; m; p
1 d, V* U4 G4 ^* u! X
8 C# w4 O/ P m5 L. Z: X* B( @: ?: r" R% f) Q0 s5 c/ N
3 T5 Q, e* }! ~/ a1 O8 m9 b
: h* |5 E3 `7 P l1 E
* N) {( F3 q6 l3 a5 z 2.删除数据库和表, U% X3 h* w. g0 U2 U$ q
删除指定的数据表
$ J% G1 V; R- l- D V; _- s7 F/ d3 \8 G3 y7 t" Y
drop 删除表内容(数据)和表结构' B3 |" C% x( j6 ?- b, i
' z# @- m/ r" g/ p& G" Guse 数据库名
: `" v7 A0 x# U' M+ J3 \drop table 表名
- @7 M) t) d: X" h0 h4 xdrop table [数据库名.] 表名;$ A G; W4 o5 f! U( v3 U8 C7 E/ G0 y
如不用use进入库中,则需加上数据库名, @7 r, b/ u. Q0 d) B
删除指定的数据库
3 r* K: j% R' S: j! kdrop database 数据库名;8 k9 J; S5 H) n7 J+ u$ X/ M
. l8 a0 G6 H" A1 H0 ?5 s
) F# E9 g' x! q+ {8 H2 d! ^
8 G4 J0 L( n0 H- W* s, H! A1 `% ~4 g
' [0 \: n9 C% S1 d# W. Q' z% \
0 S4 o0 ?! g/ L+ ~* I+ U: G2 D1 R8 j8 F/ b$ t4 W" m* O
# g7 J; W9 W9 q, A, r; W
# }& d) T4 F ~. c0 |$ }5 N" s- ~+ U( w$ Z$ J
6 x. n" g/ v& m% E, n. P
' D( g+ F3 A) c E, Z, R/ y( n- ^# r. T3 b4 I& A* ^! }; F: d5 h
' {# _7 L4 Q0 Y$ f4 h& s7 h- j$ h& S
# p; a! @% j) h' G( g" `/ a: K
三、DML
, I2 J/ q3 i; H0 P1 ~! |3 W管理表中的数据记录
+ P+ k$ @: s+ N4 n3 ~; @ z1 J* b& F- g9 k: i h
insert: 插入新数据
+ H2 a, R# F8 hupdate: 更新原有数据
) _2 ^2 l6 O: kdelete: 删除不需要的数据
, `0 N2 m! I9 x1.insert插入新数据
# v& [ f- B: N8 N* K9 m8 p格式:
/ O. f( ]9 [, \9 T7 u3 x4 L" S6 K8 V" N" T
insert into 表名(字段1,字段2[,...]) values (字段1的值,字段2的值,...);8 K( `# s7 g0 _* h
) ^* p U5 m3 v5 z3 Y, B" M' o
例子:
" O* K1 n4 r. M; ]0 X6 binsert into 表名 (id,name,score,passwd) values (1,'自定义',70.5,passwd('123456')) ;
X/ X) b4 t- R1 r$ ?9 }6 T7 V9 A2 W: g7 ~
passwd('123456') :查询数据记录时,密码字串以加密形式显示:若不使用passwd(), 查询时以明文显示。
6 g/ ` b" {$ B- E3 F9 X! w; o
) V# g% Y8 H" g5 h密码复杂性验证
, ?, \/ S7 Z6 A" p5 T- ?8 Y; F
insert into 表名 values(2,'自定义',90.5, 654321) ;
$ S! ?1 S. _5 X, {select * from 表名 ; 查询表的数据记录
. E# I5 o. e; A6 Q: T0 t! T( g) n {8 h. s
insert插入表数据! D8 y; F3 X% ]+ O" S
. r1 z8 M0 h# I5 z+ \6 V6 j5 ?: n a
在此之前需要进行查看desc table_ name; 来查看表结构(有哪些字段,有无主键,主键是哪个字段,type,是否允许为空,是否有默认值)) k8 C9 ?. K1 W7 H0 y
2 q$ o/ N- q" i4 e0 x+ D
使用insert into table_ name进行插入,是根据查看到的表结构来判断,可以怎么写
9 q/ a: [; v2 z* a1 ]: R! a6 e2 @$ K% P/ }
& y; ^+ W' d$ E8 J3 j1 g$ }$ ~1 N
" u- ~4 z- e0 x+ b6 V8 X; }2 [9 s, V: w2 i& {+ P
2 o' I- \) U* s' Y7 V) v- d( R& G: O$ i ^3 \/ n- T
9 }; j+ `9 z+ \: V2.update更新原有数据: R' [5 v9 O; G7 ?% X+ z/ u
修改、更新数据表中的数据记录
4 L6 K9 P$ h' O: ?8 \& Z% f4 u9 C5 x R" P2 _5 T1 |
格式:5 f, J' f1 s0 t3 T5 q" g9 ]
update 表名 set 字段名1=字段值1[,字段名2=字段值2] [where 条件表达式];
1 b Q4 h% X& `& N" ] O& R; x# R, C& p/ u
例子:
+ a3 t( y( @, f Oupdate 表名 set passwd=PASSWORD('') where name='自定义';* q) a. n" S1 y
update 表名 set name= '自定义' , passwd='' where id=3;
, `" Y( ]5 M4 w2 R7 e& A# m3 i N3 j2 u" m
" k" {$ Q+ X6 C9 l) X: J1 m5 h4 c- v
" y! t# d- B3 u) u- H9 x0 c
; R9 X( |! k' o- z% P0 @: y4 I
H1 N8 _$ v _& B9 B; Y. z3.delete: 删除不需要的数据(表内容)
+ ?- W. G3 C: h* Y2 B! _在数据表中删除指定的数据记录(行) o' D% m& s' H$ S) O: a
$ u! Z+ `: g# ~% _1 w格式:.: v) s! D/ I! a; d
$ M0 q+ Y- G! ~5 `- O% j% A! o+ ^delete from 表名 [where 条件表达式];/ _+ G% R* Y! j: W
0 |" G& X9 d1 \: R3 d6 D
例子:0 u+ H+ O! m2 _; R; W0 ^. ]' D% N& \
. ~- Z/ I7 h0 P, t; l
delete from 表名 where id=4;! k5 R, V m7 r: f" g( L) ?
' j) ]6 w, U! M; a% C3 Y3 C3 \6 a, I- U0 [3 E' u9 ^3 V
四、DQL查询数据记录+ n7 d) @ Q: j/ r5 z5 z
select
( Q# |3 S! Y$ W1 d+ v. T& \4 C* Z5 ~" W* W
格式:
: ?5 T2 }+ I6 O- _
+ i+ l G- e8 E) wseleect 字段名1,字段名2[,...] from 表名[where 条件表达式];% G4 n# u8 X$ N8 ]
4 B7 P" n! T" c* l例子:. w# t# Q) w; i( w( I/ f% C
seleect * from 表名;
" |* o% G( n' |1 ]* u4 e yseleect id, name from 表名;
; O; S# Y% u7 ^$ `7 r! T9 fseleect id, name, score from 表名 where id=2;# j4 g% `' x! a; U; B# |6 v
# e7 Y7 _3 Q5 ]4 f
select name from 表名\G 以列表方式竖向显示+ j1 H' v$ }( ?- M
select * from info limit 2; 只显示头3行; i o+ q" @) _5 N8 n& @5 b
select * from info limit 2,3; 显示第3行后的前3行
; h) A8 z4 }0 z0 d k! }" m+ G
$ ]; k! K* i' y5 o+ k- Y; L/ s" U
) N" ~3 M# Y& l: J, V. g, V3 c6 {. U; z: Y* }+ w6 `" p! A
( T+ J" t8 X: x d8 `1 w* ]! P. f2 l! X! Y
3 a- }5 F8 R' a0 c: a9 D& I: V
类比excel表格
# Z+ p$ {3 j6 ]; p% m- C7 ^
, Y' ~3 ?7 {; [# b' i
! G* K- I: [* u* G- E j* q, _9 z7 J, @" W2 s0 A! {
四、DCL
: o* b5 T; y; N4 H! H9 ^1.alter 修改表名和表结构(表结构)2 R4 w8 l! _% L! z% r
alter table 旧表名 rename 新表名;2 t; {% [: [* I, ?' B5 [
0 b$ E/ {" L: s" w4 Q0 w/ B+ h# p
扩展表结构(增加字段)
& z( W# E& ~! [' Q7 _# g, Malter table 表名 add address varchar(50) default '地址不详' ;
2 N7 U" R+ l/ j* Xdefault ' 地址不详':表示此字段设置默认值为地址不详,可与not null配合使用# h' K) O- M3 x5 _/ |
alter table 表名 add address varchar(50) not null default '地址不详' ;
; ?6 Q. e D6 `! E- b# O/ P9 V) j& ~+ A8 D
修改字段(列)名,添加唯一键(唯一性约束)
+ p8 Y s# t* v- galter table 表名 change 旧列名 新列名 数据类型 [unique key] ;! Z( w0 T5 Y' Y0 R
unique key:唯一键(特性:唯一, 但可以为空,空值只允许出现一次)$ p2 y+ {6 {! L8 j- ^# V
primary key (主键) :唯一且非空6 u- j" \( E& \7 `3 V
alter table 表名 change name user_ name varchar(10) unique key;* Y2 V6 l) q! N l
change可修改字段名、数据类型、约束等所有项。1 S+ @( ]1 Q- [, i& o s
0 C) z# o _- E3 y2 D
删除字段
1 {1 @6 f" y3 y2 ^格式:
5 W- H( o v7 F8 k3 Oalter table 表名 drop 字段名;* @$ r# T) D; n
l0 q! x m4 Z' |' l" c
————————————————
0 { K7 S. B! F- ^( G; A版权声明:本文为CSDN博主「Drw_Dcm」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
5 _6 Z, x! s" o; `) \原文链接:https://blog.csdn.net/Drw_Dcm/article/details/126770177
$ G' v( I$ I7 b. b2 b
+ h+ @" Q6 q: }5 U# i/ l; \
_7 s0 i: F9 h' u, u |
zan
|