数学建模社区-数学中国

标题: MySQL数据库基本操作 [打印本页]

作者: 杨利霞    时间: 2022-9-12 18:07
标题: MySQL数据库基本操作
MySQL数据库基本操作' r7 |1 }& r2 P2 D- ]
, [( a7 R) M8 j
目录, G) e3 y6 A! S& v  e

  M. r2 @' \8 P/ A3 c) J一、SQL语句 (mysql 数据库中的语言); ]5 u5 J& @/ o6 j6 P

% @* T1 o/ O4 G1 r& K, |7 v二、DDL
( x$ a5 K+ c1 N8 S$ x& b7 p7 ]
: |4 M- _% e- P  I2 M' A1.DDL语句
, M4 L9 G4 L) {1 H
9 E( l: c" J  k$ c(1)创建新的数据库! _% ?: F) Y# y$ b5 `9 \
8 I( V" A  Q! |% b* z4 X7 Q
(2)创建新的表
# \6 h" m, S+ @0 R9 ^
$ N  W: p# d7 V( @ 2.删除数据库和表& ]! b5 ?+ I( e" Z

/ Q. e; H- @* Y8 {! p0 H 三、DML% B& F5 Z/ l0 _
9 K. P7 o; l8 {9 ?* f# t
1.insert插入新数据+ b! c* @& M6 R* B7 }) }7 i8 b6 G

! t: V2 x3 z5 }- ~2.update更新原有数据- L# |2 R9 q, h7 y& a+ k+ \
5 ^4 Q2 d$ m: \; N# h" j2 ?8 h2 k, \
3.delete: 删除不需要的数据(表内容)
' h: q- m9 t0 ]' Y6 Z9 p; [
1 e* Z0 Q4 p) H% u5 r5 o8 f' x四、DQL查询数据记录
% A% W4 I5 M/ k; q
  L' n" z% |( l2 ?四、DCL 7 v, A8 l$ x7 o9 x2 e
( I( W- b$ B& A- Z/ h& d1 }# D* v
1.alter 修改表名和表结构(表结构)4 k6 N( g: d% f- \) m  \; W4 c* l$ t+ w

' U. {$ V2 G- s0 T5 _一、SQL语句 (mysql 数据库中的语言)
% S( G: t! B* H) f/ h+ I0 O/ ashow databases;查看数据库+ `/ |4 r% a/ W, V" j( @8 }) B' e
use "database_ name" ;进入数据库
; `) t% R% u+ b1 d9 ishow tables; 查看当前数据库中有哪些表
& F4 y8 f) F' M6 ?( B9 ~( ~0 yselect * from "table_ name";查询数据表中的所有内容, x( N$ M) k3 Q. x5 |& d/ v
describe "table_ name"; 查看表结构
5 w4 Q9 [% j' P% Q. kdesc "table_ name";
2 q5 z: ^$ V9 K6 l; Y1 |: r  E4 i% M  p8 m) q6 z. s
& j4 F- L' z, E6 K( d9 r! ]

+ z+ a' A' F# w) L/ n% t7 c  ^- s
3 U9 u4 l+ F* Y9 P, A% N' I( {* F- d/ A$ [0 P

6 Z- _- `* r* \- q
2 N; ]" d" d6 i
$ @6 V& y0 ~: z  h2 M- f+ F4 ?+ E% A8 Q5 l

# d' a$ c! n% {6 _/ }; a: {7 q' Z* h% W% O6 E2 m5 D$ ?
0 r% y/ y0 ]. Z' u4 v* I
% v3 ^4 \8 W+ p* c0 p/ Z( d: n- k

9 r6 \' @' e- T/ H, f0 v) t& L类比excel表格
+ G' ~+ |. [" Q: d: |; N8 `6 j* B+ Z3 A, Q" C" U

* J% V3 P) ~2 V0 y& G- R- o2 w; W4 K

- C. ]; ?6 U) }8 r/ Y* e2 }
3 \% q2 r: k9 }
/ X$ ^& ~( Q9 U7 E7 Q' t% m" z* Q! I4 e8 B8 G( b

0 H% R5 Y! @2 S) G2 [/ z! B& w4 Q8 S/ Z( A+ s, J8 i/ R/ w
类比excel表格/ S4 d( @1 h1 a! h* K) \5 L7 q
: G3 F: b# p) C+ O( u. q
7 @- O  @- J. |# x
8 ?( M1 Z3 ]+ j' [/ D2 R- \
5 c. c5 n5 |# A
! O0 y" x# v2 z# _, ]* r
简写 ; \* [1 I, _* f+ U! v/ V( `0 J2 ~

; L5 x! Q) J. _( Z+ J7 ?filed 字段名
8 N4 l4 w0 g; \
0 T& z* _( k' ]5 O) j! ?6 [6 A7 J' f9 ~1 r- ^3 \& u
6 z" w# B- L! v$ {( d
二、DDL
# H, g$ `( p5 P2 m& D7 ]1.DDL语句
& X" L: f4 _6 B: [用于创建数据库对象(库、表、索引等)9 G! v& D0 I  k1 q9 R/ u6 Q

# m, V% q7 D6 H: h/ d( a) ]2 d(1)创建新的数据库
8 t' ^- p2 Z& G# F. `create database 数据库名;
+ H: f1 ?" u3 t$ b2 U+ W
+ ?/ c4 h, c1 J9 c6 [6 Y(2)创建新的表
1 q/ d. ]- F( g$ Ccreate table 表名(字段1  数据类型,字段2  数据类型[, ...] [, primary key (主键名)]);
) B! v; l8 \6 F* e主键一般选择能代表唯一性的字段不允许取空值(NULL) ,一个表只能有一个主键。+ `9 I- d+ S0 w

# j# P. A) j) h* xcreate database 数据库名;/ j6 t0 ~* O# i( {+ K  m
use 数据库名;
( ^" }3 q) s2 V7 j; ?0 ^+ N, ]create table 表名 (id int not null, name char(10) not null, score decimal (5,2) ,passwd char (48) defalt' ',primary  key (id)) ;( V& j* d. j" r: m2 v  N3 D
, a9 i/ s8 @; {8 j' L' M0 |
desc 表名;6 |% R  ]3 l) g0 U
5 `, t/ h: j! @
not null        不允许为空值2 M; h2 c  [# V& c
; M$ I3 }8 M5 d; \
default ' '      默认值为空
2 H2 O# Q6 o' [/ L% R8 u
# f1 U/ l+ Y1 uprimary key :   主键一般选择没有重复并且不为空值的字段
* b2 o# ?" ?4 B; Z# o3 U, J+ L0 t
例子  K2 P! N5 Y4 Z- B
create table 表名 (id int(10) not null primary key, name varchar(40) ,age int(3));: s, P. ^4 `3 `0 P! n1 N& E
create table food (id int(3) , name varchar (40) ,money decimal (3,1) ,primary key (id));( J. W0 a& L) B- q) n" {* g
- G2 t% P$ n4 W7 U
1 i! o# g7 O' N0 A: Q$ a2 a
; u3 |0 `8 {# P+ D
5 Z: J* Q6 a. c9 ]1 d6 n& A7 D# n
+ \% v# i! D% N2 K; I

! Y, Y- R) J: o! ~2 B6 H' h8 E- C2 e& h8 Z

$ y& n  |+ N% A5 C7 X0 ]$ Y" b) \
8 Q# x9 K) X7 |2 G& H9 O! z3 F/ A) I& U6 V
2.删除数据库和表
) r' L( G0 C  r( j" s7 b8 N& z; k删除指定的数据表2 x. C- T' R. z" z

  J7 H: j0 b; S9 j* w0 Udrop   删除表内容(数据)和表结构; X( \1 a. P- y3 ]8 ]: \
: _- _6 c4 u1 u7 E$ q
use  数据库名
# ]% f- z; v7 `( B% v* Y! Sdrop table 表名 : T1 K' i% ~7 G; L2 G5 `
drop table [数据库名.] 表名;! G* c' c8 }; a9 A# o' o& ^; k
如不用use进入库中,则需加上数据库名
2 H5 o2 c2 ^) I! J7 @  ]) z删除指定的数据库! N$ z/ F6 l& j- y1 j- Y: P
drop database 数据库名;
- [! v  _1 Y7 p% h7 W* `/ l! t; N7 J$ }! P- f+ D3 a
$ Z2 s4 f' b9 m/ A) e" W0 {, I5 G5 R
4 g$ m! {$ X) g( P3 g+ i

7 g- n$ ~: i* r$ U% Q
) H) F. Z# X& \- k) K+ f
! m0 t# P6 {0 R2 y" y* ?9 ]- @& \. A; W
4 n- W3 B  \; @# q8 b( t
, H& j9 m5 C" W( e2 F
7 m% I) B( @0 ?9 r; Q- |! h4 i' J

5 k( R6 A: W# w
4 S7 d! b/ `% r. ~0 E; L/ C. [9 n0 {0 C% D

/ y; {  f8 ]# Y. O! F6 }6 c: Z+ u  U7 G; J
0 \. b2 \  F. o8 R# \9 l3 }
三、DML
3 j- c# L. o  l% j, n9 o管理表中的数据记录
) m; Q  P  e' R3 n5 `
$ |, f" y5 @1 P1 B. V6 qinsert: 插入新数据
8 H0 L) K; d& h( w" uupdate: 更新原有数据7 J% P: F( \" q0 D% y% o9 @
delete: 删除不需要的数据
5 R% P! `5 o5 j' v) r1.insert插入新数据( b4 d  [( R8 }5 Q; q! ^
格式:& l# a0 r1 j; Q# F' [! l9 h* t
$ ?1 q  B) E; d2 J9 b/ R0 b
insert into 表名(字段1,字段2[,...]) values (字段1的值,字段2的值,...);
: B: t9 r0 v9 F# l# z- z1 q1 g& ]/ Y) ?& f) P! j
例子:' b1 U" o) F8 s) J1 w+ G
insert into 表名 (id,name,score,passwd) values (1,'自定义',70.5,passwd('123456')) ;. _0 x! e3 W* a: g
' _) w( U- H: G4 R' Y% {, W) c
passwd('123456') :查询数据记录时,密码字串以加密形式显示:若不使用passwd(), 查询时以明文显示。
- x( U( q4 p: F$ m, A3 y: M8 B6 _2 \( ?! u! d
密码复杂性验证( W; i/ A8 k1 n+ o
! u' b5 t: |4 Z. D0 w
insert into 表名 values(2,'自定义',90.5, 654321) ;
0 Y  B  [8 _! @, {# bselect * from 表名 ;      查询表的数据记录& }; ]7 M8 }6 N% V

+ B/ A0 a8 ~. ]1 Hinsert插入表数据  E$ g1 m5 e2 C) Q; h! x

& q& f, S, T1 f4 G# ?- u/ R' ~在此之前需要进行查看desc table_ name; 来查看表结构(有哪些字段,有无主键,主键是哪个字段,type,是否允许为空,是否有默认值)
: D/ X8 y1 s+ X
& i9 p8 B' C% s: Y+ ~: u; u5 l' a使用insert into table_ name进行插入,是根据查看到的表结构来判断,可以怎么写
1 W: L+ ~4 v! O- r
: o" W; Y7 p# u( |4 ]) A: o8 C& Y0 q7 i4 x4 K. G1 t) f! T" A

/ z2 T. K6 x$ }
, M- F4 Q" j7 k  I8 l' @* w- {. x  Z$ n& L' C/ f9 I
2 j! r3 I! v. _7 x9 _* p
1 G6 I5 B. M* \6 A; ]! E. u
2.update更新原有数据
; v% L) r% K0 I" }5 P0 A修改、更新数据表中的数据记录2 P% y9 `# f+ U$ \+ }2 s

4 E. g9 J% {/ c, \格式:
+ p* o, B) b( C2 {5 Wupdate 表名 set 字段名1=字段值1[,字段名2=字段值2] [where 条件表达式];
7 U4 \: n  d  V! _; Y& M6 h
2 B: Y9 l; i% ^4 ~+ Y# z例子:" \9 P; B+ m4 z8 x3 V' Y6 M+ I* r
update 表名 set passwd=PASSWORD('') where name='自定义';  U9 k6 E& \& G7 R; [" A- x' z
update 表名 set name= '自定义' , passwd='' where id=3;
/ X& G" s7 ?- B) M" M1 \9 P1 |2 L" w3 d# n; m! {9 N
. P, M! N* @" |3 b: a

4 I& h# ?, L7 q' r# K6 H
; y3 @: B; \  K" G( z' Z/ T7 {1 W+ y- o/ m2 a
1 F- |7 |% A* i( k5 i
3.delete: 删除不需要的数据(表内容)2 T; l+ L4 J5 e0 S
在数据表中删除指定的数据记录(行)4 Q& f0 w' I/ Q  {  W
1 }4 @* K0 l! J+ E1 n" B
格式:., T" G6 {, E3 f1 T
4 P3 i6 ?# y6 s
delete from 表名 [where 条件表达式];
' n, I. S7 l8 @# ^( K8 k$ ?" v( `7 S# M' O* ]6 q- c: V; R  R
例子:  K9 S; Q& f# Z& k

" k) ]6 ~6 Q5 Q' |delete from 表名 where id=4;
3 M# J: u- E" n: G9 Z
$ p& U% U5 X2 N3 _
. g% c5 d0 i7 o" A: T7 F四、DQL查询数据记录
% J$ @* C1 C: E: ~) d: t! g! dselect
1 r& W: s1 t1 o5 I% Z6 l( }3 z$ k. M2 q% o& K5 x' C
格式:$ O2 i) X+ I6 D7 t7 e" x! a

5 s7 E8 i" _4 }seleect 字段名1,字段名2[,...] from 表名[where 条件表达式];0 \- |1 u; j' ?* a; K8 n

* l" I5 \8 J6 `. Q; k% T例子:
3 @$ |2 x/ r- F/ \( yseleect * from 表名;
# Q6 G9 V: D) X0 |, J* `0 Mseleect id, name from 表名;
; Z/ N+ s' a/ W0 Jseleect id, name, score from 表名 where id=2;0 a1 I6 Q0 G1 Y7 m& y

# e1 ^, {4 y1 H; P  P  K, Cselect name from 表名\G          以列表方式竖向显示9 P0 A0 \3 A- D8 u% o: q6 b$ u
select * from info limit 2;      只显示头3行
) W3 h7 g! J! h% ~; [select * from info limit 2,3;    显示第3行后的前3行
5 A8 P  O/ l9 B6 C  R8 l; `( n
1 h4 T4 b$ V" K6 H0 P$ n
" @) U  ~2 q. U# |) Z" a
% e; @4 Y* j0 z( m5 L1 @, x2 I. v  {+ N* R# S
9 C) z7 E) E5 A: i. W( u6 e1 j

  V& T) O  m7 k9 ?  ^" K  i: s! M类比excel表格
9 m' w% d# q+ |2 t4 n. ^$ o
4 h% M8 @8 O. K; {. W; [6 a' o& m8 |/ Q6 y" _/ o/ R; G2 ]

8 J$ Z1 v6 B! O四、DCL * _! W- w, L$ a/ {1 s
1.alter 修改表名和表结构(表结构)
3 b& L# a0 J  ^. Malter table 旧表名 rename 新表名;; G1 p1 x9 Q7 ~8 u1 i' K) b% Q9 |

# E" y! ~6 [: e$ z" @扩展表结构(增加字段)
: h0 s; r1 x6 J' d, R. E- Walter table 表名  add address varchar(50) default '地址不详' ;
6 i" P! |* \- f8 W( Pdefault ' 地址不详':表示此字段设置默认值为地址不详,可与not null配合使用0 E$ J( W6 ^7 V
alter table 表名 add address varchar(50) not null default '地址不详' ;5 O( H5 z# c, F/ Z  k7 c
0 m* P- j3 p' F' a
修改字段(列)名,添加唯一键(唯一性约束)2 D! e; x3 w8 }6 z8 z% `
alter table 表名 change 旧列名 新列名 数据类型 [unique key] ;
: T4 M, L. V2 D: \/ b$ Runique key:唯一键(特性:唯一, 但可以为空,空值只允许出现一次)
2 W1 }6 i; q. O: G6 R0 Q. v9 nprimary key (主键) :唯一且非空, z" p/ X* X! R1 N6 p' z* O: s7 j
alter table 表名 change name user_ name varchar(10) unique key;
! V9 q3 }  ?1 i  Fchange可修改字段名、数据类型、约束等所有项。  J3 ^! J# w( d6 Z# C6 j1 w
% S6 ^5 ]% Z( P6 l7 {, `
删除字段1 Y) Q0 y7 }. n+ I
格式:9 j. W% `0 s  Z8 u  L
alter table 表名 drop 字段名;
7 g1 C; n! G- c; I# I. n
; u3 M  `" Y( d4 x% r# F————————————————/ a' f: e: k- F( k
版权声明:本文为CSDN博主「Drw_Dcm」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
% w7 F& i1 {1 R8 ]; m原文链接:https://blog.csdn.net/Drw_Dcm/article/details/126770177  b+ q7 `( z2 ?
, ^' c- B& N0 c( z+ I6 _
, r% c" j5 L5 M9 D: J





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5