- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 565610 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174906
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
MySQL数据库基本操作% r$ V- o* A: J1 Y/ R6 H; D
: i( H& H$ C4 J3 @0 v) d- b. d) v7 H
目录
7 k8 ]5 E. {. N& h4 ~3 m5 A% j- d* }5 a/ e, G) `; Q3 |
一、SQL语句 (mysql 数据库中的语言)
) A! O+ n7 E1 y) d, k& ?6 ?1 F: ]0 `7 m; {: ]: R
二、DDL
% Y* i# k8 P6 E/ e5 U$ N# }4 k$ P$ S3 I( n4 R8 j
1.DDL语句# x, u: n8 Q2 i/ [
5 T- p$ E- g0 {( ?(1)创建新的数据库- {5 q/ I! |0 l; o# y' Z
} q; P+ {$ v+ O; k- t; J6 M
(2)创建新的表
- `8 Q. V4 Y% z- n1 G! k
0 ~$ a/ d: e8 c5 T 2.删除数据库和表+ ] o1 Y8 P: t
+ A6 F; k& \" X/ h$ a0 V 三、DML; f* c+ v2 t* y5 W4 w6 l
p# B" @- Y; c
1.insert插入新数据5 p# k7 X. ] l; K
3 ~. `1 T! X, G
2.update更新原有数据
* ]+ j& h' _0 k$ D
. `1 }- q% |8 Z( o0 K3 f3.delete: 删除不需要的数据(表内容)
! g1 v3 @- |/ B; E( `6 l! j7 U# l2 y2 J+ p
四、DQL查询数据记录
2 q9 h3 @9 R( ]. `3 J
+ v# U J6 V+ h& j! d# f% p四、DCL + \5 v/ f- S5 N) Z
9 b, ]+ f8 d9 R, a* o% {1 C5 L1.alter 修改表名和表结构(表结构)) A' \/ V/ m3 q6 J
0 G F) P5 l$ w o, s' d/ l; A一、SQL语句 (mysql 数据库中的语言)
6 L9 |. f9 h& y! m" Tshow databases;查看数据库
& W3 r; S$ z% R" v$ guse "database_ name" ;进入数据库
+ N* b3 F: r9 M2 Z8 k3 V( Mshow tables; 查看当前数据库中有哪些表
$ M! V$ o/ c7 a& Dselect * from "table_ name";查询数据表中的所有内容( m- {# J% H7 Z, q+ y( A' W0 h
describe "table_ name"; 查看表结构 z1 R5 t2 h9 m4 C- R4 F
desc "table_ name";: _' k/ b4 e- o$ t" j1 T7 I
, @- k5 r; k' K0 D8 Y2 h2 }
# K. U& n& J* ~% ~7 X& d, z9 E+ A2 Y G) c
+ V- y" x, o% N, {+ c+ P
q ]+ D1 Y# c, s; r' N) g- Q. @* Y1 i6 ]; I* H
& v. j2 E8 s+ U) x' H2 L. V1 M' L. M& t
0 \: I) r1 w, R9 N
% `5 A+ b! v* ^( r4 U' z
$ A p% ` g6 \% f: Q7 Z' m: u: ?, }/ k+ T
) w7 T: \. X6 d+ L t
9 }" o! x% \9 X" x. J) [类比excel表格; ]( E$ f/ o# P
# I" N+ F7 T4 @6 y' d9 ^
; @# j8 F* w- {: l; j* s8 G
H, w5 K6 s' s( n9 {
# R9 T% s* f1 d: Z9 f8 O7 ?' T3 p0 c0 u. w+ q# l
+ C' a2 v: p0 a
% F2 i/ [0 F+ E' V$ G M9 r; O3 c3 E$ T' g
$ f% f# }) i9 F+ V8 R) G 类比excel表格
, t2 w7 u9 r# H, s8 |4 y
: R: d1 @/ X5 A/ w6 L# b
8 Y7 s+ `* U x: {1 V, m, o, E0 f- h2 z5 {3 b
( r o# L& A9 V/ c
* N% B! ?9 a' M# z1 U简写
/ l6 O/ F. I F4 D3 ]5 @
, z, o: y8 d! P) p( cfiled 字段名# c7 n9 v) v8 i% l% e
6 }7 I# l5 e$ d0 a# ]0 @
. H) }0 T3 R4 Z% z, c6 U) f0 }8 I0 s3 z& K2 _# `) Y) H' A- c
二、DDL
) C; W% {# }1 J" l, z2 `# N# I1.DDL语句% _, L+ E# l! M2 X+ I
用于创建数据库对象(库、表、索引等)
& L) k- q4 e: `1 i) r v- c! a+ f1 @/ e8 O2 J# z7 ^8 m. |$ _
(1)创建新的数据库% c0 k3 N8 ?2 P. w) {- T4 e
create database 数据库名;
) A+ R0 a8 Z* Z5 W1 c. s9 \# Q) X0 M) \' R' r
(2)创建新的表4 n, f+ B# z2 B, n2 D
create table 表名(字段1 数据类型,字段2 数据类型[, ...] [, primary key (主键名)]);
5 @5 E+ K* y1 p主键一般选择能代表唯一性的字段不允许取空值(NULL) ,一个表只能有一个主键。5 y" D* c6 h+ E2 J5 f
9 ?% v2 ^7 s# Q% I: }, ncreate database 数据库名;
" o$ n& I- a4 u! q+ P) yuse 数据库名;. K2 B" z4 x1 F
create table 表名 (id int not null, name char(10) not null, score decimal (5,2) ,passwd char (48) defalt' ',primary key (id)) ;) a* e# K4 Q3 q. E' x" f) ?& ~; J F
+ O2 z, q8 [4 M" k
desc 表名;! e1 L& [2 X# f! \( a2 X
, D) P; A" }, J
not null 不允许为空值# }, e1 K& ]2 T( {% e9 i
# C0 y* z9 F* G) B; d1 p$ {/ Q
default ' ' 默认值为空
# O) W5 o/ I) X8 s. P; O" m& ]$ s2 r# d8 ] i- W
primary key : 主键一般选择没有重复并且不为空值的字段
* r7 i( J, |2 k: M1 S) w
1 [- v$ f; }- F. x5 X# r) @例子: p1 t% q* Q; d8 R! H
create table 表名 (id int(10) not null primary key, name varchar(40) ,age int(3));9 I+ G: h( z* k5 A" k; @) p
create table food (id int(3) , name varchar (40) ,money decimal (3,1) ,primary key (id));
1 e; X7 e8 j V" ~/ L2 x# { I) N! ^4 | K; o% r0 K/ J
( j5 _& ]0 }" O3 U3 U
9 x+ q( S+ a( L# z, l
8 j! B: E. X; x) Z3 z. Y! f- C* H+ F) Y: F( a, V
% {( n9 d) A" V% c( x- m- z' e" H; m6 ~: ^# a
- ~' [0 q1 {! Z
: ~5 C/ ~* W1 q7 F( Q8 y( x, |8 e
* F0 N4 c1 M, b& y1 p T" b 2.删除数据库和表: y. Q( a: l- P1 w
删除指定的数据表
+ ], U2 g2 S- ]& s( F2 W u7 D) _) U' h9 J- C3 @9 Y4 x# `
drop 删除表内容(数据)和表结构& u/ z, _! s. p6 D- b j5 b
3 h! K9 u6 y" K) d9 I% t( r+ n
use 数据库名9 [, p. I' K }- H% S7 x
drop table 表名
k: R" E4 r2 U: ]# I5 tdrop table [数据库名.] 表名;( G+ Y, Y2 Y9 ~! Y
如不用use进入库中,则需加上数据库名
. w) t6 ]! Q. y0 {6 ? S: N. _删除指定的数据库
, `$ I5 f( e6 A+ t3 [# mdrop database 数据库名;: t* N" o t% I# d8 w- j/ s
& l7 ]- _; v% `; X( R9 w n% ~9 c; j y
/ l9 a9 q R L. q
* R+ _5 E0 y9 U6 t1 @6 S! _1 e
7 [& q( p4 ]4 l# }. }1 _. z% `4 ?) X# k g
% n% F2 x7 h* B" i" D0 m
2 U. L: Z2 l2 l3 z: W$ \" N
. n0 M+ c0 x9 L& b2 K2 K$ B' E
3 K1 a! N3 H& z( g$ [* A1 P
' R- `: d: r2 s X3 B: n3 @- b, }% l5 H3 g' g
U9 k- l5 D" T* h6 B: e& t; G$ f
9 V! l0 p9 ^4 j* r6 I9 }* R( e+ r
* E+ Q2 N! N2 K6 p& K
三、DML
8 f$ G1 _* G9 Q% S! g5 l管理表中的数据记录
+ y6 Y- l3 E2 P; @, X r& Q( X; z( x1 s) t# A' e% q
insert: 插入新数据/ C M1 r: S3 Q7 A
update: 更新原有数据
/ u' v' d$ U7 {' X) udelete: 删除不需要的数据8 \9 a' `& s5 h8 L1 u+ Q' S0 w
1.insert插入新数据
( e1 N" `0 N( ~格式:
% d) h8 x4 l) V* c! p$ F8 _9 E/ q2 A2 @9 T
insert into 表名(字段1,字段2[,...]) values (字段1的值,字段2的值,...);. y6 z9 T; C, L/ l8 F
' z! j: N3 Y9 S: B/ h1 d: G8 Z" `1 `
例子:) }4 Y3 J6 o' s7 o" B
insert into 表名 (id,name,score,passwd) values (1,'自定义',70.5,passwd('123456')) ;8 F+ e- _9 `( Z$ _2 @. s9 _
9 \* z- D2 y# H, N7 dpasswd('123456') :查询数据记录时,密码字串以加密形式显示:若不使用passwd(), 查询时以明文显示。 z* U& F+ D& b5 h& N
- d8 l5 Q v, x, n
密码复杂性验证+ g; z+ s9 p/ L7 [; N% i
" h6 T# l" E) Z- Winsert into 表名 values(2,'自定义',90.5, 654321) ;6 h3 t! T6 S. f# u! n
select * from 表名 ; 查询表的数据记录
, {8 H9 |. T9 x0 R& a+ _, e/ c7 A+ v. ?$ |
insert插入表数据
# H9 b. J( ^+ c5 ~2 X
9 c! z, K8 Z+ ]5 g/ q* w在此之前需要进行查看desc table_ name; 来查看表结构(有哪些字段,有无主键,主键是哪个字段,type,是否允许为空,是否有默认值)
' r- z; q" e) l5 i1 F! K7 R$ c4 p, w
使用insert into table_ name进行插入,是根据查看到的表结构来判断,可以怎么写9 x6 X3 l2 A! u/ U8 }" d
, J. X8 c/ a' M
' a; F0 z4 ~2 K) g6 b
! @. } g- c3 ?$ a! h; f7 k, {: h3 f0 q8 \( T. F+ T' k
# |0 ~: H* G" J% W' X8 e! ~
/ m d* X; _+ Z
9 I, D& |* R0 D, ]6 [
2.update更新原有数据7 g( t! H7 ?# O# m4 ~, B
修改、更新数据表中的数据记录
7 p9 e E. g% G. w4 r, e6 |& ~3 G& ~: o
格式:7 `+ N2 ^: `$ @) R) @6 D0 ?$ N! L2 h
update 表名 set 字段名1=字段值1[,字段名2=字段值2] [where 条件表达式];
( P |; H1 o, F& p7 ]. a. t/ Z+ x; E* C! u' ]6 e" l! q) `& C; [
例子:
: @3 ~! Q8 O1 Supdate 表名 set passwd=PASSWORD('') where name='自定义';- e/ s; x9 Q/ a
update 表名 set name= '自定义' , passwd='' where id=3;
8 }0 o4 \$ n6 h* C4 ]0 |) N
- g0 h c: j( I$ b `- q
0 @% p$ J* Y" l8 _& m6 j
4 V# t1 q4 p9 \, A, i* o- e* v: V2 x( X% G
! C8 X& U. T: a, X
# q1 _* a2 r( O& k5 |, a1 Z8 F9 D$ ^
3.delete: 删除不需要的数据(表内容)& L& W" k$ f. `& e( T; z
在数据表中删除指定的数据记录(行)
$ h! O$ j6 Y5 U6 o; O6 w) {, [- I2 q" I& ?: \! l
格式:.# |8 P: T, {$ C; _ r
& O, q' o- w+ m& M% \# q: qdelete from 表名 [where 条件表达式];
) G2 a2 M* Q8 @. J9 t, X$ G6 ?3 {% G+ x. x. s; o1 ~
例子:
1 K- S1 C" p1 j# m1 U p, c0 p" D j5 ]& d4 F' L8 n0 I9 k
delete from 表名 where id=4;9 M9 z% s" C% |3 x
5 @- V& ^; {$ |& [7 I8 f4 i9 z4 M
/ }" Z. L* x; b7 y8 V$ Y" o) {四、DQL查询数据记录
7 J/ K5 V* l& Z" f% Lselect! ~# G8 D/ k5 S b* `8 P8 h
9 }! Q( L* H& A, ]格式:
0 `7 _; Y# |. g0 a; x% z" O
; q6 e( _6 q% Bseleect 字段名1,字段名2[,...] from 表名[where 条件表达式];' }& {7 {" p# B% o' h$ M j% W
% u" Q3 t. \2 q4 V例子:0 m( y! R6 ` F
seleect * from 表名;
- K9 y$ r8 ~4 t6 t1 z- Yseleect id, name from 表名;
0 I% K" d9 J3 g( S \3 d" [seleect id, name, score from 表名 where id=2;6 V9 O$ P5 ]$ c# \/ }( H
* p s: j/ m4 \3 \3 }% ?
select name from 表名\G 以列表方式竖向显示
" F( C, ^/ \, l! A* qselect * from info limit 2; 只显示头3行
" g z# @: s# {8 I0 m7 C4 Kselect * from info limit 2,3; 显示第3行后的前3行+ X! I$ S+ Y# a- G' I
! V3 R5 w L1 R n* f
2 t0 b& ?8 W/ m% h+ y: e6 T s$ d$ O4 p5 t" c4 x
: s% {* ~4 y0 f- }' H i. P1 O$ j; }
6 v0 f+ {& h5 ^" k; R5 d, g: w; c4 c2 _ a
类比excel表格9 A) Q& E! S2 W! R' T
0 Q( I/ `* f' M) E; _3 ]
7 y0 L- {5 |0 N+ B, r
5 `7 g$ F4 h9 h; t四、DCL ) [) p+ @/ H; Z& p) b, n
1.alter 修改表名和表结构(表结构)
4 }2 s/ M4 |* _2 y0 D+ @7 balter table 旧表名 rename 新表名;# C- E/ h# V! {' p- q c' t1 M: y3 \
5 H+ ?) K+ z7 l9 o% {
扩展表结构(增加字段)+ F; q) S* _. Q4 u8 O' W
alter table 表名 add address varchar(50) default '地址不详' ;
% |5 n: E U$ e! Edefault ' 地址不详':表示此字段设置默认值为地址不详,可与not null配合使用& _$ h' h5 I K3 G
alter table 表名 add address varchar(50) not null default '地址不详' ;: ~- I/ o9 y0 o: J: w# m8 C: W
+ X# x7 o2 Z8 M9 q! u$ R* W修改字段(列)名,添加唯一键(唯一性约束)
% H, c* }% x# y6 r9 Galter table 表名 change 旧列名 新列名 数据类型 [unique key] ;
7 q- v3 U: k- z! ? j# {unique key:唯一键(特性:唯一, 但可以为空,空值只允许出现一次)
' v# g- l* n) B5 Xprimary key (主键) :唯一且非空$ t0 F) s, T( e
alter table 表名 change name user_ name varchar(10) unique key;5 c$ A' f* w$ R
change可修改字段名、数据类型、约束等所有项。- S( e( F+ @( B1 p6 }8 D
7 a) ^; e7 K: Z, m0 z2 g. K5 a* G
删除字段
1 I$ q4 A2 p2 w; p1 A% Q# B, H格式:
) R# n: A- C U# C$ r' m; aalter table 表名 drop 字段名;
2 I( {+ K# b6 W, q/ j% X* v% z* T, X7 M2 ^3 i, P
————————————————
5 |! W; T& a7 g6 \1 z) o7 A& ]版权声明:本文为CSDN博主「Drw_Dcm」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
# H1 g- M7 F. E: H) Y/ [6 Q. K+ x: @原文链接:https://blog.csdn.net/Drw_Dcm/article/details/126770177/ w. [7 p5 S, b5 V) u" Q* @
7 c2 l; l |6 C6 J8 c$ ~9 U
3 C k' v* x- d$ ~3 H0 ^( i |
zan
|