数学建模社区-数学中国

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

作者: 杨利霞    时间: 2022-9-12 18:07
标题: MySQL数据库基本操作
MySQL数据库基本操作
% P% h7 X' o# q- Y1 U# `: m3 ?. R& u- G7 h
目录3 @; S( T- v4 d# Y% r$ X
/ @$ e& \8 Z5 A& |
一、SQL语句 (mysql 数据库中的语言)
! ^% ~1 C6 W4 [$ j
/ Z! W9 M- G: ]+ N0 ^, k1 e3 a二、DDL/ i: p: c- n# e% R

, Q& W+ f2 O* A0 `6 Q1.DDL语句
" O1 [/ d$ M* I; Z2 x( }
2 K  _9 b  `" ?. P& |# R(1)创建新的数据库0 R0 Z2 V. L6 L! h1 K6 u3 L) [

* @0 l% F0 M1 e' }( l8 c(2)创建新的表
9 t% e' o3 H1 [  e9 z! ?; W0 O5 i
- I2 s  M0 r2 G% ~2 b/ R/ E+ z 2.删除数据库和表
1 d: e" R  A8 \) U  u8 a  l
4 O9 t# L4 y  r' _1 t) n1 ~4 m 三、DML; i  |  p. |4 @% w

7 H& u( i# W- ^+ f" F1.insert插入新数据6 |8 q0 R. n' ^" h) b) F

. X; o5 Q/ B7 j3 v( k: C2 q2.update更新原有数据
, R6 w9 p2 r( E5 ^- j! L( L0 O2 @0 l1 [2 u; G
3.delete: 删除不需要的数据(表内容)5 r! B' K. \% V+ ~
2 S% N0 [( y; t* z1 s: b3 t
四、DQL查询数据记录; M$ J" t( G/ ?+ K1 g

6 O  [. Q* D8 L, `四、DCL , r) Y7 E7 l7 C% X+ ^6 i) R
$ {' p6 Q, r  z# U/ f8 d; R
1.alter 修改表名和表结构(表结构)
$ r  }, N+ V$ q1 Y, @
" ~* K, x! w2 G8 @: @  B一、SQL语句 (mysql 数据库中的语言)
! [" e( V/ K6 S! p! Rshow databases;查看数据库
, E6 o1 y& X, y. i2 muse "database_ name" ;进入数据库+ ^+ V+ r2 T7 _( a+ S
show tables; 查看当前数据库中有哪些表# i* d" v% I; u  @2 D, c( V) j, Z
select * from "table_ name";查询数据表中的所有内容# r6 M, S/ G! _. T' N/ A
describe "table_ name"; 查看表结构/ m3 M* D# m# A! C; q' G& B
desc "table_ name";+ T2 r) P9 S6 I* |

  j: \, O+ Z+ }/ q( I$ s, l8 R! t) u, p! n% `
9 n% H+ P7 Z9 n+ P4 b
; R* K9 J! p* z$ N
0 A5 f& i3 g! T5 S4 t, ]  `! z4 {

/ |7 A/ w" M+ r/ O, f
: S  R8 }4 n! ]+ d
! w5 d2 Q# o3 i) G3 |- J2 k1 ^! v' o1 e& R
) J4 j$ Q, r0 b$ R& O; `& m
& }2 n) I7 B1 B, e
5 i& p7 a- D8 J
, z$ G+ I( M* _8 y* f
0 S; W& o0 b0 S- l) J
类比excel表格
- \% i( q; E3 C' P
+ K6 l# T: z# P* I! _3 L5 M$ a6 D: }# Y, P. n2 ?, P5 u; D* Y+ R
, E3 f5 O7 h( a( O
1 ~  [6 p& t. M' s
, q; X0 R0 L% V) Z! U
; c/ W; ?% L  H
1 @6 @5 O7 X# m) `+ M- ^: r
: E# S/ j9 U" k3 z8 [3 d# N: P' i
" [5 ^- A) A$ Q
类比excel表格
5 q9 ?! D! `6 k4 l
! z9 u( l0 ~& C
$ A8 f7 K- e0 o- k" l
1 K) P# ?5 P9 w! S! x1 l2 }8 t) S$ J9 r9 V$ a2 C5 V
- v" b6 z2 f$ {. v% R
简写 " Q9 \; W9 o$ W( z- B

& e1 B' y9 [8 t% ~filed 字段名  L4 ?7 H5 r- I

7 t+ z& y. T- X/ B6 s% B3 a6 J. a. |8 t- N9 E
/ Q5 t3 K( j. |1 T1 V1 L
二、DDL
5 s$ t# @6 t" w* b1.DDL语句/ I, p6 [' v9 ?, u
用于创建数据库对象(库、表、索引等)7 l0 [+ W! g5 L( w; t* q
: ]: i7 _7 v, i- t: P
(1)创建新的数据库8 i8 `; [- @, _: M
create database 数据库名;1 r& u, q  C* h- h: N- B2 [- _

8 P8 c5 _8 `/ Q8 g( c6 E(2)创建新的表! h- S8 _- X' f3 c& [8 M
create table 表名(字段1  数据类型,字段2  数据类型[, ...] [, primary key (主键名)]);; {8 F/ E1 N$ u2 \$ R4 V
主键一般选择能代表唯一性的字段不允许取空值(NULL) ,一个表只能有一个主键。
& }, ]) U: A+ [" z, l6 O# E
1 b0 ]0 m6 r5 s7 Z; L% |create database 数据库名;
; q0 c0 i+ _  w$ s) Ause 数据库名;( {: o) J' E2 V6 L8 E& i
create table 表名 (id int not null, name char(10) not null, score decimal (5,2) ,passwd char (48) defalt' ',primary  key (id)) ;
& A9 g$ \  |- T" T2 N; j+ a: i9 `9 W% q  t) c
desc 表名;. M1 m. r# g0 ?4 d
& H2 e, z4 ?/ b3 s
not null        不允许为空值
0 t( a8 p' P, }& i8 O, r
7 u& c7 e0 k+ ~+ Y2 V9 m( Adefault ' '      默认值为空
6 v" ]  n/ Q5 n* ~9 M1 H: R& w8 A. p4 L6 D
primary key :   主键一般选择没有重复并且不为空值的字段
2 ^9 `/ M  t4 y9 `# h& W
& }6 W  D) ^/ Q: J; _2 p8 K" W例子
$ D" v4 g, u, wcreate table 表名 (id int(10) not null primary key, name varchar(40) ,age int(3));! m* E1 U! y! o
create table food (id int(3) , name varchar (40) ,money decimal (3,1) ,primary key (id));
$ D. d; E, a1 U. T* o! A/ S8 j/ w/ c3 {' h
+ W& C  W' {3 r; C$ F7 d& H4 b3 g7 Y
# q8 H4 D5 L# w  y6 Y9 @) x
. Q0 K0 c& k! f! s6 O. q( c9 ~; k: Y
3 |" z9 v- [: _- D1 D+ w

7 G% `9 p0 |5 g* t6 @! Z6 g# t3 {- M( g

1 q+ T; Y7 r# s5 C) r/ u$ v2 X
0 y( P7 F! ]2 M0 m6 @$ N
% M& L% z! z7 H) Z% _ 2.删除数据库和表
0 }* e, L$ `! W- S0 G3 Y删除指定的数据表: t* o3 R6 g5 y! Q' |0 E
3 F- n* S6 A  s7 N( O% c
drop   删除表内容(数据)和表结构
/ k2 ?9 s: a0 a7 T2 ~
. t# R8 U: U% A) z: G4 b* Luse  数据库名8 X3 F: @) f8 a$ S
drop table 表名
0 `5 C2 K+ d: H2 ^drop table [数据库名.] 表名;
- l$ s* Q4 z5 `9 _  i- }6 s如不用use进入库中,则需加上数据库名
$ i$ L% F; b' M+ E& E2 q删除指定的数据库
4 M2 {  Z9 J0 l* Zdrop database 数据库名;, B" X/ r# ~5 y4 o
; `; H% u/ O% M( j3 J

1 r+ p& h  w/ \! Q  Q# D3 a# U0 g9 }5 x

, s. n' o( h  ?9 Q* P: ]: q" Y: r/ j9 i( U$ e: J+ Q

: O1 a  s' u  Y2 ]; s" f; ?" u/ Z, C  u8 ?% x1 ~# F% {# R$ _

; q. c1 N$ `0 e& {+ @# P1 z$ a
1 c9 S! i& \& ]$ q1 l0 T9 N& g! Y
  x0 `) K8 T# n; ], n; X6 ^# \) a
" ^, N7 h- y, q8 N
* e4 q, v5 v  i& x1 X5 K+ [+ C4 S2 I9 R' A6 d
; j  L% \- P) D
2 c7 W5 m+ E+ ?8 W
$ Y; a1 c8 z: t: y, Q
三、DML; w; L* y2 _) p9 M) A
管理表中的数据记录
$ S, d* u% _9 P8 U( `+ G8 _
& e3 ~9 @& F) P% h+ h$ Linsert: 插入新数据( j+ h3 a1 N& a' [9 n3 b4 B( K, R3 h
update: 更新原有数据7 Y* ?+ c# Z" s1 H2 Y* n5 Q
delete: 删除不需要的数据" W1 {6 Q" {8 D7 N/ v6 {
1.insert插入新数据
8 c7 w* ~3 ]' V; z7 i. f. d, [$ {格式:! S5 z% `. i" |+ k
$ a6 A5 x1 q* d( Q* i
insert into 表名(字段1,字段2[,...]) values (字段1的值,字段2的值,...);
2 F  F  b1 L3 ]2 ~+ N% t# B
5 E0 U2 @( ?; D* x& H例子:4 ~$ W: t' X  `8 n# I8 {" v% j1 l( c
insert into 表名 (id,name,score,passwd) values (1,'自定义',70.5,passwd('123456')) ;
1 Y7 |# t# t1 n% h
1 N: |/ p+ Q# j. ^- Opasswd('123456') :查询数据记录时,密码字串以加密形式显示:若不使用passwd(), 查询时以明文显示。, p+ b/ X- S- A' q# T, q/ A

$ u' v  f6 K" U) s密码复杂性验证
) h* A' q+ x  w5 h, K, [* Y$ ^. k
7 E% `6 G* f5 Q( b. \: Tinsert into 表名 values(2,'自定义',90.5, 654321) ;* [8 W- _: Z0 R+ d$ A" x5 `# R
select * from 表名 ;      查询表的数据记录5 M) i) X* N' S! G: c6 ~( V
% g+ X0 X' V* p1 e% G4 q; F
insert插入表数据1 Q6 N- b8 W/ i
- _; h3 l4 h$ h% R4 {
在此之前需要进行查看desc table_ name; 来查看表结构(有哪些字段,有无主键,主键是哪个字段,type,是否允许为空,是否有默认值)1 a& o3 z4 V4 p1 c, V2 s
) N. _8 G5 s$ [2 r$ D! e. ~5 _6 [
使用insert into table_ name进行插入,是根据查看到的表结构来判断,可以怎么写- l/ [0 S# y$ a! Y4 g; A

: c- }1 X  |" K6 T0 W8 R$ z3 m, E3 ]1 f$ l7 X6 X1 p) r& K

2 z& r! s/ W. z/ s5 l# t9 O3 |/ A( `. N% Q2 n4 w. N

" N1 ]* B3 T8 `: p% X! J# `3 a, _. Y5 D5 I7 ~; T, v  {
  F% o, J' @5 A9 l" v+ Q% H
2.update更新原有数据7 b6 f4 H/ Z/ Z" H+ S; X
修改、更新数据表中的数据记录! I) j: }* x: e0 u
" p( ]4 G1 w0 z5 z( h' I
格式:0 t) l' M$ X. U2 Q  _& [' r
update 表名 set 字段名1=字段值1[,字段名2=字段值2] [where 条件表达式];
* g6 P# _( S: ~0 ?% v/ }. Q& G  R* h: {& {- J- L; @5 F
例子:, e" L3 {4 w' g& J) }1 x
update 表名 set passwd=PASSWORD('') where name='自定义';
1 E5 m3 C; V; q5 Mupdate 表名 set name= '自定义' , passwd='' where id=3;
! E' i, x/ [. w# i# J% ]8 {- J0 D+ D1 Q8 Z& K/ P9 o/ I
) |0 H/ a  I. w/ L2 _3 y

- G/ h" Q5 z5 g2 `; H/ D/ f( R+ N* H7 x

. k5 p5 E9 R* P- G/ W- s1 @8 d+ i% e# N
3.delete: 删除不需要的数据(表内容)3 N8 c7 Q& g; c2 z4 a+ w: M$ P& L# Z
在数据表中删除指定的数据记录(行)
- ^; \& F' a* k1 s3 c: v0 J' j
! j! }. c6 x+ D! `6 z格式:.
$ L% r5 m4 N! V
, y5 c% O( A2 Z( v) \- Zdelete from 表名 [where 条件表达式];' L# R% {. a$ ^; @' W

  e) L7 F8 u! a5 H例子:
7 X: {* x, O7 k: t
* b+ Z- @; G3 V) S& g- zdelete from 表名 where id=4;+ r; T. i: ~/ c% g0 a

; h9 T3 k7 T+ p! j9 }* Z- ]  |2 d' D) P; ~+ F4 U
四、DQL查询数据记录' ]9 z, i2 [* Z9 L6 O- R9 m4 N1 E
select
! t, w' Y. \4 t
4 k# |6 j& p- @1 S. D$ n: t, W$ n格式:
7 O+ K  b1 |1 c/ j7 g( r
! c/ @) {" ?5 y7 ?- Q) O- F7 Kseleect 字段名1,字段名2[,...] from 表名[where 条件表达式];  W: ]2 Q+ b/ c

) b, f5 z/ m8 W- y4 \& U例子:
- T/ {7 P# B1 @, J/ r: g; x+ U3 a" Mseleect * from 表名;
; M9 [3 o% \+ V7 s8 G* Oseleect id, name from 表名;7 P9 o  ]# h2 I" w: z: d
seleect id, name, score from 表名 where id=2;6 i: _; W) M4 Q0 P& L2 f
2 i& B; F% h: x, q5 g- _
select name from 表名\G          以列表方式竖向显示+ Z/ k4 w# r, }' _: K' J; ]. m
select * from info limit 2;      只显示头3行
* Q; B7 K4 o0 p6 u# j. vselect * from info limit 2,3;    显示第3行后的前3行
6 P! j2 G6 S4 K# M
, e; R( w3 h# Q8 e8 ~3 ?1 Z" J8 }- q4 V; }

. t4 {4 {8 \7 @3 u+ g) D) r3 o6 d
% x8 i8 z8 Z9 C! O' o) a# U6 {3 F  O; U1 Y% e8 a) `2 T4 E1 Y

0 ^# A" B; y9 k% Y6 ?/ r' |类比excel表格0 s( j0 M* ?( ~: ~$ d5 G
+ A; o+ l9 B! k0 F6 ^
5 k; q5 o5 p# h5 U6 {( s9 P0 w

% b' S# ~3 z7 ~  S. k四、DCL
8 W# d" b& i' r1.alter 修改表名和表结构(表结构)
7 ~: c* P4 x; O  ?7 u' ialter table 旧表名 rename 新表名;
# m* v% m% l8 O7 U& ~7 u6 a! p# Z" y, t+ V, c! }$ c( W
扩展表结构(增加字段)5 _" k8 o8 v6 F& L/ a1 I
alter table 表名  add address varchar(50) default '地址不详' ;
' x1 _1 ?( \: f$ @default ' 地址不详':表示此字段设置默认值为地址不详,可与not null配合使用
% [7 X' h; t9 palter table 表名 add address varchar(50) not null default '地址不详' ;0 J2 }( K+ P+ y+ q1 K( i8 t
8 L7 z6 [' O/ O3 X! E/ Z( a; p8 a
修改字段(列)名,添加唯一键(唯一性约束)( h4 }$ h( A6 o* y* x2 c. k- [
alter table 表名 change 旧列名 新列名 数据类型 [unique key] ;
: O3 K) Z# ^. {unique key:唯一键(特性:唯一, 但可以为空,空值只允许出现一次)% C8 n! I7 D- c% B5 U" t
primary key (主键) :唯一且非空
3 v5 F; X/ w& T4 nalter table 表名 change name user_ name varchar(10) unique key;! F5 F* m2 t7 i0 i/ t
change可修改字段名、数据类型、约束等所有项。
  T& C6 K4 G$ n, D% {, d  h
! \/ u. x9 F! x$ Z删除字段3 d& `4 O1 E& A; w5 q. \' r! N
格式:6 U$ Y& Z0 a! S6 y3 L
alter table 表名 drop 字段名;  h$ n3 e, \' \7 Y

# ~) \! s" T2 ]8 t" r6 o————————————————2 R2 `. a2 q, I9 Z0 f3 \+ R
版权声明:本文为CSDN博主「Drw_Dcm」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。. h) k+ |, `) o9 F/ @% S5 {
原文链接:https://blog.csdn.net/Drw_Dcm/article/details/126770177. r/ ~# B# |. ?. y  P9 r, J/ @

: v2 ?# |3 u2 Z" e/ D. c5 r+ g- I  j/ r* Y





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