在线时间 1630 小时 最后登录 2024-1-29 注册时间 2017-5-16 听众数 82 收听数 1 能力 120 分 体力 565718 点 威望 12 点 阅读权限 255 积分 174938 相册 1 日志 0 记录 0 帖子 5313 主题 5273 精华 3 分享 0 好友 163
TA的每日心情 开心 2021-8-11 17:59
签到天数: 17 天
[LV.4]偶尔看看III
网络挑战赛参赛者
网络挑战赛参赛者
自我介绍 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
群组 : 2018美赛大象算法课程
群组 : 2018美赛护航培训课程
群组 : 2019年 数学中国站长建
群组 : 2019年数据分析师课程
群组 : 2018年大象老师国赛优
MySQL数据库基本操作
9 j3 R- Z' v5 P/ K * g) p* r& T5 y+ N1 e
目录
# T7 U3 y8 @, C9 Q! _6 R `* _' o 6 o7 G' O7 K( ]) y- D
一、SQL语句 (mysql 数据库中的语言)5 m% {* e H( R8 `6 i
0 F% T, v% f6 h w k* @ 二、DDL: S( U0 \/ D9 }! c
f2 J) g' A. z; h6 g 1.DDL语句: `! k- y: Z! u
Q' U! l9 B1 l/ b. S- X. g9 O8 E5 a (1)创建新的数据库% I+ N# ]9 c: v& P' e) p7 @+ w5 b
6 H$ X+ c7 [& Q (2)创建新的表' x$ L5 _3 M7 o
: z# w% z* R8 Z4 c: Z$ V; A' l
2.删除数据库和表8 D; J8 z0 z4 b! l% `2 A5 ~
) m3 I9 E* }: J0 q2 E' E
三、DML9 ?$ N) B& e; Z h
. ?; L- P! ?$ J3 m' L7 {
1.insert插入新数据8 q* U) g* D- m/ |
8 g5 M) F6 O! F' w 2.update更新原有数据
3 F2 s; v, l- f" F4 o+ S, S$ _
' J1 \& {* k( X0 m9 T 3.delete: 删除不需要的数据(表内容)
3 i* l5 V! C. U! X3 `
1 O& |; c* r+ r* S- v! E% D 四、DQL查询数据记录
6 {9 @# e* }8 K; q% G: n6 i9 B' s & ~; X: P( I, I( z# g ^5 ~
四、DCL 2 G: W2 F- I9 Y g
( f* y. j) Y, X$ d$ T) r7 r* D 1.alter 修改表名和表结构(表结构)( J7 O6 O; }2 b s# V ~
3 J/ y$ ]) H8 H 一、SQL语句 (mysql 数据库中的语言), k& _2 w4 C5 l5 Y
show databases;查看数据库
& L2 J6 H0 s2 M- P& I$ n$ U0 x; I use "database_ name" ;进入数据库
/ j. [! j% @9 A, V ]* |1 J show tables; 查看当前数据库中有哪些表
. f- \% J' \+ O select * from "table_ name";查询数据表中的所有内容- q6 J6 E* R( g' l0 |8 D
describe "table_ name"; 查看表结构
9 ~) P. o( B5 Y" B$ _ desc "table_ name";& N+ m9 Z; T" z }
2 c9 @# w! s9 X8 e9 ]) H7 f3 `0 P . ~. b9 {0 k7 G+ ]6 ] l6 ~
+ ~( \1 `; z$ ]- |( B. B
2 k& c! c* _# d& T7 x
6 \" w& r! T6 `, F
3 }: Q2 b; g z4 N
4 ^+ y* ^+ ~2 k) q M! ?1 `( y * q# M# w. x. G, n2 T, B
* E$ a3 Y5 a! i6 w! l 6 `) E/ e+ z P, f, z2 u
2 R# Y( U) D3 y$ R
1 L# I- G, M8 J# k9 |7 b) I T4 J' ~) Q: i
4 M! N. U m4 a' O+ K 类比excel表格
) q! a# S8 b4 b# m
$ e8 n( {. i. \. c
3 S2 E4 T: K( \# H }$ `# {3 r
" @% j z- K1 `% P
: ]4 a, Y8 T( A# y# ?$ h 4 u4 B9 J5 E+ M8 |! f6 |( h
' X$ a' v' ?* I% U
6 h1 y1 U3 f7 o9 Q- x+ U & \/ p7 y; U J/ O: l+ S1 ?
# d' l0 j( Y$ Q G4 G1 j
类比excel表格 `/ z9 k# U8 p5 q- R$ v
$ n% m, c% e3 K& E1 U, o2 Q8 W$ o& z% Q, G
* M" H: ]+ o0 T, {! a
9 a% J% c7 {; ^8 j* {, U: } 6 x' q& }( o$ g2 e/ q V/ N
( |8 e/ a3 ~% W- n6 n 简写
/ j+ v/ w* h1 P: D" l N N
1 U( t# W( [1 `! c% L2 x) e filed 字段名. H6 {( T9 j* Y3 u
d! ]$ D$ e# r% d
" V3 G, O3 n0 K( t' d
, h7 G5 g4 y, u! l4 p, X 二、DDL
7 N+ ~* L Z0 d! t3 h' C 1.DDL语句3 D' G. p- I# ~/ j4 Z e
用于创建数据库对象(库、表、索引等), Z8 V/ n' D; X9 B% y( I$ ]
, B0 @2 h, g5 C' h (1)创建新的数据库
. H* p U! z/ J4 Q, p" A8 U create database 数据库名;
! @: R* {; |* e! [/ B5 J+ s, }, w 0 j* N7 M" [2 C! W' ?4 K
(2)创建新的表
+ F4 |9 { i" U i1 o* ~ create table 表名(字段1 数据类型,字段2 数据类型[, ...] [, primary key (主键名)]);
* N1 s+ y% ?/ @7 @ 主键一般选择能代表唯一性的字段不允许取空值(NULL) ,一个表只能有一个主键。: m4 p$ b# f) c6 ^6 N/ C/ D" h! {
; I9 M% D) b: U1 D create database 数据库名;/ \! r! |# T! [" T
use 数据库名;
1 S) r/ C7 n4 ~" V' W create table 表名 (id int not null, name char(10) not null, score decimal (5,2) ,passwd char (48) defalt' ',primary key (id)) ;
4 i% ]+ k! [$ V" f6 Y
6 T; t& S+ f# f& C; h desc 表名;
1 H7 P, X9 O( h- o8 Z9 ^0 o 6 m7 I' G) x H1 K# l x
not null 不允许为空值
T# D7 X5 @2 M B& [ . [ i9 T d2 b7 [
default ' ' 默认值为空) f! ^+ ^+ a8 _8 n( Z
" | O# _( ^' |# \& i* i' x6 S* O primary key : 主键一般选择没有重复并且不为空值的字段. N1 _1 n; M6 j8 e
, O; v/ D0 ?- }, t, L" |% {& O3 @ 例子
8 K+ b" T( ~2 z, q3 t create table 表名 (id int(10) not null primary key, name varchar(40) ,age int(3));' p" u e+ j. j r8 X. N: r5 Z
create table food (id int(3) , name varchar (40) ,money decimal (3,1) ,primary key (id));
; a( M6 v3 C2 Y; q' Q $ e& G9 e: v+ q) c8 E& {$ K1 s6 L% W
7 a6 G% _+ S1 _- B6 w& D5 R
; K. _% f; ^( s) R7 F! U
* l2 e: ?/ Z5 C+ A9 H/ L
& L D/ i* u b% G; U : g9 G1 E0 ]2 _' e( ^/ i3 x1 T
3 D4 J6 u5 [( Y$ v
. `; V; p7 K5 t/ C ( [9 N! ]8 |2 E; h0 J" b) j
; E$ i8 G4 j) [5 F1 M6 F
2.删除数据库和表
# J1 j/ h; e4 ]# U5 G 删除指定的数据表- [. x5 G3 x# l1 H: D) {
6 E% u7 S2 \2 j/ m. ~5 R
drop 删除表内容(数据)和表结构" B- |5 @& W- @5 D
* }* |3 i- M: L! r. q
use 数据库名3 T4 K& K( V- Q/ T
drop table 表名 ) N( _5 h1 N. g. e: l |' |
drop table [数据库名.] 表名;. j& N$ d' h& r( F3 e: H7 {9 W4 ~
如不用use进入库中,则需加上数据库名# i7 u, B( ^4 g2 K
删除指定的数据库
2 \' ~# K( |6 e drop database 数据库名;8 E! ~3 E& d$ j" w- |
8 Y' j5 j$ h0 [( |( n
8 F% C$ C$ \! _
! i; T; b/ t6 R2 z1 [7 h1 |
: v# b1 S! G4 c, ~ t# G L % T( z% S5 u# b
/ p: W+ p+ @. E* z * D4 x. S+ A K; i& e
# Y/ d! A+ ~! d- X
: j7 v* C/ X) Q0 j " a% ~' b- V2 Q; m
8 {0 I I. t; h; B. G5 ?( j4 G2 G6 ~ # q8 I& A) M+ d. p" A
; p6 ^3 i5 h' H9 }' g; i8 k
% x4 |3 r" e+ ^( b0 l' b ) ^/ K5 e% v, ~: E3 ?' y
6 s, `$ Y( V; t! `/ u8 t3 M
三、DML
! ?3 Q4 d, n* H: Z" [$ v6 L% p$ c 管理表中的数据记录& {/ n: n6 u4 C, n
. k1 t7 Y& ?7 Y& E: | insert: 插入新数据
% ~! ?' D0 l$ Q1 @ ]* Y% P update: 更新原有数据
3 n, e$ N. C0 ? K* h delete: 删除不需要的数据5 [5 r9 U! _' |' l2 B
1.insert插入新数据' c# [, l W0 P. k4 L. B, `+ \$ f
格式:4 A- F0 o. h$ D$ P. z' [
2 L0 V. j* U d0 n0 x: z
insert into 表名(字段1,字段2[,...]) values (字段1的值,字段2的值,...);/ C# D$ y" E9 E5 f2 H# }5 `: _
2 Y. W$ x: u: a5 m. Y* q
例子:- w- Q! d2 P ~& O
insert into 表名 (id,name,score,passwd) values (1,'自定义',70.5,passwd('123456')) ;
( A% n {6 `" W. m2 e2 |4 Y/ U
5 Q9 N% y8 A4 i6 M0 k7 `. U passwd('123456') :查询数据记录时,密码字串以加密形式显示:若不使用passwd(), 查询时以明文显示。
6 D2 `6 i& z* ` * {% z* H7 q4 j" M
密码复杂性验证% h+ S. I" ~" o( w z+ W! J
3 y$ D' u, s3 x9 f: c& S& j, h8 m. d# A insert into 表名 values(2,'自定义',90.5, 654321) ;
$ C+ x! j& _" g" H1 U select * from 表名 ; 查询表的数据记录4 R8 e+ |0 e3 ?5 B6 i' ~5 f3 K4 M
" H4 m* K$ u* u. }% y/ r! m insert插入表数据
}6 l( ]8 x6 l* G+ a
. ~" P/ J J3 W1 S5 ]5 ]" X2 H$ Q 在此之前需要进行查看desc table_ name; 来查看表结构(有哪些字段,有无主键,主键是哪个字段,type,是否允许为空,是否有默认值)3 ?6 ^: y! Z- l8 l7 ^' }
* h2 [/ ?$ d3 L l2 z+ |- K6 f 使用insert into table_ name进行插入,是根据查看到的表结构来判断,可以怎么写; b6 X: z9 A& Q8 |) Q; \$ t5 T2 B6 T* c
n# N' T% E6 V! V" e
( l2 D( m" m, K
, U$ b$ O1 d4 e2 W; k. ]& B $ x0 p) X5 v+ x$ z3 e! h
- q2 Q! a; y! {3 P
. T; |/ \/ ]5 Z, Z % V, {: [ y8 l- k6 v( A7 E# D# T
2.update更新原有数据) A7 v9 ]% E7 l' b5 o% }7 V- p
修改、更新数据表中的数据记录( x, z0 ]+ |% P- H0 ?& K
& X; c! f3 d* b) c( H5 N7 z$ E
格式:
: ]% h0 r* [! B' x4 c, r update 表名 set 字段名1=字段值1[,字段名2=字段值2] [where 条件表达式];
% r* P8 n8 s5 I1 _3 h2 j* W7 ] % W$ [3 {) ?5 Y' f' g3 d
例子:, C, r" W7 I2 G! Z U
update 表名 set passwd=PASSWORD('') where name='自定义';, U2 R4 X! h7 w& F6 `
update 表名 set name= '自定义' , passwd='' where id=3;
& S% e3 F' e, s4 o4 t p1 p1 D5 U' A
9 m9 W3 c1 q6 B; ]% o- ?5 S$ r - R1 \+ C1 E# h; J8 a1 \9 Y3 n
5 B6 T: y: M# ~9 d! ?, q( [
5 E2 q4 i% j3 c) S3 A$ |; M/ I
" y6 a+ v' u+ Z) q4 ~! @
) Z) K5 y/ s( I( s% m) M 3.delete: 删除不需要的数据(表内容)
; @$ o3 J: ]9 }4 V" U- E' G v& a, A 在数据表中删除指定的数据记录(行)
' M. @+ E* ]3 [- Q
: }% u( ?: A! `% \) w 格式:.
& C4 b9 V) h2 B) k4 n4 m8 ` {& W : t4 P) G' l/ y' k
delete from 表名 [where 条件表达式];
3 R8 w8 o5 p% {$ D 8 P' e3 P# }& S/ M0 w' C
例子:, ~+ ~. T6 d) ~# w: K: S6 A L% a
# l8 }* ~8 C3 f! U' S
delete from 表名 where id=4;
1 y! T u7 V4 B2 q- Q8 a % @, ^8 o* P7 `7 u' L$ g1 B
2 k% y6 y* P5 l
四、DQL查询数据记录0 h( J- H* c, Q n0 d( P! H
select5 ]/ b6 G& c; x# n/ x9 @: D
, W, u4 O( [" @" b4 k) t
格式:
; e6 l' b6 k6 `, A( }) t' `, M0 g ; R3 w5 k" ]1 P/ X5 L% F, ~
seleect 字段名1,字段名2[,...] from 表名[where 条件表达式];1 {+ m0 O6 F! p) n* [8 b" t
2 a% X- u8 @. b- M 例子:
( u) \6 ]2 l- ]: U! Z4 M5 ? X seleect * from 表名;
9 l; f7 ]* Q% I; G9 F+ \ seleect id, name from 表名;! j: w: a% }! B1 Q, \% [) _
seleect id, name, score from 表名 where id=2;3 y3 X: @+ d, }, i6 _
2 s' F2 _( R$ n! o2 b
select name from 表名\G 以列表方式竖向显示
+ m1 c& v& n! k0 }# }9 ] select * from info limit 2; 只显示头3行
* ^: Z# x5 J1 f0 s) u% E+ \ select * from info limit 2,3; 显示第3行后的前3行5 @8 x& i& } d; u' |9 j
6 L: H: M4 O/ z$ o 0 t7 Z9 P! L: S: k& Q( W
7 V% Q u [ b) |% r
8 @. ]7 y+ O1 h
k8 l2 N* K' _3 j6 H8 X! j3 f 7 G2 d2 U3 W$ ?% E- D
类比excel表格/ ^5 [, h7 F2 e) s
: f4 a9 I& C2 h. L$ Q
' j2 L& p8 b. Z: D
6 b& i1 v& x) _2 m 四、DCL
5 S# ~& p& H0 {. }, R Q7 i 1.alter 修改表名和表结构(表结构)
% p v1 z$ f [% G alter table 旧表名 rename 新表名;
* `! m, @1 {9 B9 `- P3 C* Q
$ L) B' n! S3 J5 V 扩展表结构(增加字段) b8 e. ?+ f- f$ O
alter table 表名 add address varchar(50) default '地址不详' ;
+ h/ A8 p% U, X8 h( q; G" p: h default ' 地址不详':表示此字段设置默认值为地址不详,可与not null配合使用
8 h; c6 s3 c! K& L$ I" W% b0 _5 [ alter table 表名 add address varchar(50) not null default '地址不详' ;8 H7 J5 B3 a; K# i
, o, r! W9 F/ a' I; j
修改字段(列)名,添加唯一键(唯一性约束)5 b& Q, ~# S: z4 R" }
alter table 表名 change 旧列名 新列名 数据类型 [unique key] ;6 W! B2 C2 t+ J, a3 h
unique key:唯一键(特性:唯一, 但可以为空,空值只允许出现一次)5 k+ @; W2 w1 ~. ]+ w, r% Q7 H {: P% e
primary key (主键) :唯一且非空- V4 o5 {+ Z6 y s4 }
alter table 表名 change name user_ name varchar(10) unique key;- b* x, L6 k+ c) C0 Z* ^! `
change可修改字段名、数据类型、约束等所有项。! \; G7 h" N- o# k# q9 }- v
" }5 w$ d6 M$ {; W 删除字段) Q6 a* n( Q; L/ S8 F
格式:7 d4 h. m: }9 A2 X4 b, W1 n
alter table 表名 drop 字段名;, O0 \4 U3 x& F& L: ~3 S5 E4 }
, ^4 ?" Y9 [/ u! H/ y ————————————————
& q) {9 q# W- j, z2 S4 g+ x 版权声明:本文为CSDN博主「Drw_Dcm」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
6 U" o# B- { _ z- R4 M T) y7 i 原文链接:https://blog.csdn.net/Drw_Dcm/article/details/126770177$ V, P" B/ e! i4 B2 P4 P8 q
3 {: |( ~( L. V% ^! K; i4 E: Z! S+ R
6 }: }4 d/ {1 F+ R, q% u4 p- q
zan