数学建模社区-数学中国
标题:
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 Q
1.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" F
1.insert插入新数据
6 |8 q0 R. n' ^" h) b) F
. X; o5 Q/ B7 j3 v( k: C2 q
2.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! R
show databases;查看数据库
, E6 o1 y& X, y. i2 m
use "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, l
8 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) G
3 |- 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$ a
6 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* b
1.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) A
use 数据库名;
( {: 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: i
9 `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( A
default ' ' 默认值为空
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, w
create 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* L
use 数据库名
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* Z
drop 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$ L
insert: 插入新数据
( 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. ^- O
passwd('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. \: T
insert 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, E
3 ]1 f$ l7 X6 X1 p) r& K
2 z& r! s/ W. z/ s5 l# t
9 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 M
update 表名 set name= '自定义' , passwd='' where id=3;
! E' i, x/ [. w# i# J% ]8 {- J
0 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) \- Z
delete from 表名 [where 条件表达式];
' L# R% {. a$ ^; @' W
e) L7 F8 u! a5 H
例子:
7 X: {* x, O7 k: t
* b+ Z- @; G3 V) S& g- z
delete from 表名 where id=4;
+ r; T. i: ~/ c% g0 a
; h9 T3 k7 T+ p! j
9 }* 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 K
seleect 字段名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" M
seleect * from 表名;
; M9 [3 o% \+ V7 s8 G* O
seleect 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. v
select * from info limit 2,3; 显示第3行后的前3行
6 P! j2 G6 S4 K# M
, e; R( w3 h# Q
8 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' r
1.alter 修改表名和表结构(表结构)
7 ~: c* P4 x; O ?7 u' i
alter 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 p
alter 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 n
alter 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