在线时间 1630 小时 最后登录 2024-1-29 注册时间 2017-5-16 听众数 82 收听数 1 能力 120 分 体力 569584 点 威望 12 点 阅读权限 255 积分 176098 相册 1 日志 0 记录 0 帖子 5313 主题 5273 精华 3 分享 0 好友 163
TA的每日心情 开心 2021-8-11 17:59
签到天数: 17 天
[LV.4]偶尔看看III
网络挑战赛参赛者
网络挑战赛参赛者
自我介绍 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
群组 : 2018美赛大象算法课程
群组 : 2018美赛护航培训课程
群组 : 2019年 数学中国站长建
群组 : 2019年数据分析师课程
群组 : 2018年大象老师国赛优
MySQL数据库基本操作 . Y+ | i% k3 O
- q/ k# Q, a o& [8 c8 v# A8 i; Q& K
目录$ j( c5 H3 @' Q# ?
* r3 Q1 l: J/ W0 u) Q! [ f
一、SQL语句 (mysql 数据库中的语言)8 ?7 f; f* L& D0 e8 u$ k+ r
" {8 d$ X$ n, J- x
二、DDL
2 w2 M, N# E0 J
' s2 W! d, W! B: Q5 P 1.DDL语句
2 T# c1 S3 z9 w, G R% ~- {: F
: o$ V! G$ `# W) G1 j (1)创建新的数据库
% Q1 P- I/ G: _6 @
. P+ ?5 j9 Z8 b$ o2 i4 \ (2)创建新的表: w1 t# n- }6 g0 D F
( K$ C8 ~) _, u6 N' P3 | 2.删除数据库和表9 }" A1 `4 z$ S( d: }) q
8 x5 {; S2 V1 M$ _- y) i
三、DML. T) v$ ]9 U5 e! S
9 q; S2 G) A8 O$ V2 p6 i# Y- o1 ? 1.insert插入新数据4 k$ K2 e/ B+ O* l
; l7 P9 O0 U6 C3 r; U 2.update更新原有数据
. `8 \, u( Q: T# Z6 m& T# C& [. F" V
/ x6 G9 v3 o, V& l, W, c! x 3.delete: 删除不需要的数据(表内容)# `- W8 }( d) p6 N, `" U2 q
; ^5 G' {$ O, A5 {: z5 v8 r4 N! c) C 四、DQL查询数据记录
+ Z0 z: D; W% Q
+ Q& g! Z& e) t5 j1 A 四、DCL 8 ~6 N5 e- [! y; K$ Y
, e* Q: V8 G! M3 s 1.alter 修改表名和表结构(表结构)
% K# T9 o& S% \8 M. Z! p
' v4 O. y# y0 f0 ?1 j5 U/ E 一、SQL语句 (mysql 数据库中的语言)
# z( L9 t. q# ? show databases;查看数据库
) ~8 V# s5 ~+ c. _3 A use "database_ name" ;进入数据库
) {+ Z( I- Y- Y4 K2 V# q9 N ~! _ show tables; 查看当前数据库中有哪些表
. G) v \, l6 p select * from "table_ name";查询数据表中的所有内容- E/ x' ?4 x+ B2 ?( ~ ?
describe "table_ name"; 查看表结构
: o- _9 `# d4 i/ a) J' I1 X! ^ a desc "table_ name";* w$ ?# C* O+ Q6 u0 }6 ~, t
4 P" T$ b b9 i7 Y
! T) x" d6 R$ Z. T+ z0 p! B
! \- M2 l9 P+ a' {2 k1 a% w
( c9 A5 A0 S" I" d* \; b
2 V7 V$ {/ h( ^+ ]. c+ Q0 X
" F6 C' ^) h& G$ u* `- a @, h L9 ^ m* }& q0 b
9 \5 h# l" s5 _% L6 O; N7 ? : y# r) w0 H, s
, S+ [0 }6 q2 A' i* C( X
0 z: i, k4 Z' [
% |; J, V2 r0 F; }) r6 I3 X
8 S: w# H x& m; [1 P / [3 Q! p8 {, Q4 b$ ~7 j9 n z
类比excel表格4 K* G8 s. u4 G _- o
1 y* Z2 l/ x: q1 b
/ k1 ~8 ^+ A- I$ l+ p4 w. a) U) B : y% O! B: W. x9 m: r" ?" x
- s& C* S% {" a/ e5 a; C
! U2 L- E, N5 a4 K7 P $ f$ x- R7 B- n0 b0 B3 \+ Z
% w1 ^/ m, k5 K
3 q" v9 _( m( x* {" \/ V
% ~: C, z. U. q" B K 类比excel表格0 {' o3 Z9 K' }1 h
6 j, [( [4 A# n [
8 x+ c7 Z9 q5 K7 E # E/ ]; p8 e' G! ~' A
# J+ w1 f6 X- Q( Y r! f" H1 _3 x3 u 2 C( o; C0 g' b
简写
4 C1 u' t% X6 X
" ]6 L8 Z3 t! w- W! J8 i1 z filed 字段名
) W% k- `- q* c" l+ {. N f5 c& y3 j% W
) `# ], j. ^6 I9 Y
2 r" c# t/ `$ g N 二、DDL
) a) v' ~! {# {) i) M 1.DDL语句
; I* K/ p. A: I5 [, C6 L0 {: j) _ 用于创建数据库对象(库、表、索引等)% u5 o! F# o3 d4 I$ v: f3 U* ~. S4 c
; m9 [8 g' r& E- {8 [1 \ (1)创建新的数据库2 U9 u4 Z$ o/ j5 _/ F
create database 数据库名;) z4 ?# C6 R7 U' b* [
- ~9 p# X/ E+ K' g- U- A, F (2)创建新的表
2 M7 b& T! N/ l create table 表名(字段1 数据类型,字段2 数据类型[, ...] [, primary key (主键名)]);
9 A( d2 W. D, @3 Q3 H1 W+ ~4 D 主键一般选择能代表唯一性的字段不允许取空值(NULL) ,一个表只能有一个主键。0 n1 V0 J/ l8 W0 i' u; u
0 _* ?0 e9 T- R8 }
create database 数据库名;( ~2 }" y3 i% S# `' H: i( m
use 数据库名;
* K4 S% I# v! P) H/ H) p create table 表名 (id int not null, name char(10) not null, score decimal (5,2) ,passwd char (48) defalt' ',primary key (id)) ; |2 x ]6 N3 [4 K5 i
5 c0 ?" R7 b/ J. j desc 表名;
3 S) {8 {; V" a, |2 C
. {- Q! v# {3 t" Q# k/ I, u7 E not null 不允许为空值 I$ G! k- G$ O2 E4 [( V
* H E7 u" b' U/ @+ v' w default ' ' 默认值为空
0 T; _% a( y. M( G; p 8 U1 p9 b4 i. a9 K" O
primary key : 主键一般选择没有重复并且不为空值的字段
- u+ m5 O, `7 ~ 9 o; T' \7 j H& w3 c+ W' g
例子0 M* W) p* f/ s6 y- q5 \' Q
create table 表名 (id int(10) not null primary key, name varchar(40) ,age int(3));
: r' q) T4 I+ _ d1 L- R" G% y% ^& p create table food (id int(3) , name varchar (40) ,money decimal (3,1) ,primary key (id));1 w+ U- p4 q) z7 h4 F
0 g3 v1 I2 d% l
3 |; `' ]$ z% M- b/ x- M
: O/ w3 p+ w9 Q6 B
& R+ i8 C) i7 v. \1 I/ U
# B1 F) m( W! Y5 `2 n$ i3 ^9 k
* m% ], P0 c5 b1 s( C4 I
$ a9 K6 [7 ]. x$ P- o ( m- Z2 E" R0 y7 T8 f' z
. Q: [# z5 [4 m/ V
' W! b; G' d% _8 E) \' W 2.删除数据库和表
" b, ` V- q) P$ M5 B2 U1 Y6 x2 H5 ~ 删除指定的数据表
5 X W8 H' j2 t+ Y1 b
7 n" _; t7 E' I9 X& R$ e drop 删除表内容(数据)和表结构
H& X6 p1 `5 u6 {* M* \0 z
" J9 J2 r' _; F q; O use 数据库名0 f" \8 b/ l, w- B8 i$ R B- n
drop table 表名
4 Q, W, m+ a) {2 l* h$ s) c/ Z drop table [数据库名.] 表名;& y( k' U* k2 u! |' h
如不用use进入库中,则需加上数据库名+ C2 a' p8 @) Z, @0 ^
删除指定的数据库
4 A" z) E4 f7 e2 [ drop database 数据库名;
* |7 `" j8 N& Q$ z& B* S; w & ^& J- G; Y1 J: |. D; G
( h; ~6 ?3 Z( J! h% E. ~0 |& `+ ^ U
/ r1 C; d8 p' q; q" ^. G
& Y, g p1 G. Z& f
5 M/ T, b1 J H$ f3 x6 P 7 `; u8 C$ v) w# i' G( S7 X0 Q/ S- s. u( ~
& b2 Y# \0 p2 [9 u
8 w5 V L& w( |2 o! i7 V% R
0 C" K% V4 [$ G. _* t9 T
- k" H( J y9 B+ e1 ?3 s m 1 H1 F2 w0 V4 i; t9 X
. R& a: \4 w5 m4 T* t' ~
0 ]3 P1 b; R7 U9 |* o' j
e5 l9 G! }! w5 Y
0 x# S$ i( o! l; e, w
: f5 D; p4 z7 g6 w" s& c5 c
三、DML3 {# B3 x0 v6 o8 ^% F1 T
管理表中的数据记录; I" Z" u# ^0 _) O" S
8 C0 L; e2 X/ `' V insert: 插入新数据
& L2 x% |' C# ~3 P update: 更新原有数据8 _" ~/ K! y1 F% d
delete: 删除不需要的数据0 k/ k7 `4 n# U& \
1.insert插入新数据
% J; V* d1 r2 r+ ^ 格式:& b2 k2 X1 ]# @4 U2 F
, _; r/ t/ b3 X3 ]- V
insert into 表名(字段1,字段2[,...]) values (字段1的值,字段2的值,...);' {$ _/ c0 t6 X( G
* K7 u4 [0 H6 o' `9 e
例子:
) L3 [$ B3 ? Q) g* {. w insert into 表名 (id,name,score,passwd) values (1,'自定义',70.5,passwd('123456')) ;* g+ J, m/ t* x2 H0 @8 R
1 n+ G" t. N* ~7 v' P {& E, Y" b
passwd('123456') :查询数据记录时,密码字串以加密形式显示:若不使用passwd(), 查询时以明文显示。5 D* Z+ S/ n$ X' T* S
3 z) ?! t( f2 J' Y# h- ^) D& G! J7 ~
密码复杂性验证4 S, M6 X6 c. ~; E
& E3 v; U* d8 i' u insert into 表名 values(2,'自定义',90.5, 654321) ;7 ?1 r c- N8 [& E2 E
select * from 表名 ; 查询表的数据记录" |- V4 \2 ~2 J2 A
) {. Q5 R/ @3 t insert插入表数据
% Z7 A1 s7 e" C& k
" Z' [3 s/ ^4 S& _. K1 m& L 在此之前需要进行查看desc table_ name; 来查看表结构(有哪些字段,有无主键,主键是哪个字段,type,是否允许为空,是否有默认值)
) w0 `& }9 g( ?4 c
8 W" V7 q! F8 P. v4 Y5 b$ G 使用insert into table_ name进行插入,是根据查看到的表结构来判断,可以怎么写
& i# z" T/ D9 _' D7 e v * G. E" Y5 Q7 B
E% K2 d) H2 Z. j
, U9 }0 ?' J+ v) f2 F7 x9 C
& g1 K3 i+ a7 d. i+ W m
& |; m% t7 V) j( I9 m/ } 1 g6 |/ e, c1 f' H! ^3 r* y4 {: s" d
- N+ v- ^4 M3 G: X
2.update更新原有数据) B4 v6 `+ p9 @+ w; t4 t& w
修改、更新数据表中的数据记录
O4 Q* a# `8 J. L% n$ Z) G Q8 A 5 g& t @# ~: u8 M2 ?2 a/ {
格式:3 m \) X! B3 b/ }' V$ W
update 表名 set 字段名1=字段值1[,字段名2=字段值2] [where 条件表达式];1 ^' J3 Q1 g$ h& c4 Y0 _
- T: K% k. \1 J9 e
例子:
8 J4 V# g2 u. v( g( J update 表名 set passwd=PASSWORD('') where name='自定义';% E) J% i1 v, T5 v# h
update 表名 set name= '自定义' , passwd='' where id=3;- [4 `) e8 @, u5 Y- J4 Q
! U/ C4 I1 h, v$ W ' w7 `* i& X) f6 P/ d* |% B% c: \
( d Z5 d$ ]. ~7 P, e
+ T {" _' h1 K7 `
7 Q# F t) Y% B/ y
( }1 I4 F% x3 D9 I- B 3.delete: 删除不需要的数据(表内容)
! c- l' C9 z8 L) _% w! D& U. Z. _ 在数据表中删除指定的数据记录(行)
8 N! `: }9 S" d , ? @; f9 ]4 X. |& Z
格式:.
/ }$ ~: b! D v# l( Q- T 5 V& r7 s8 \6 X& ^# R# a
delete from 表名 [where 条件表达式];
0 m+ G6 Y2 R' D+ ~8 x, ^+ \ G
1 Y6 s2 l5 D# v7 q5 C 例子:% w2 j* c! `/ g( R2 c9 x
4 W% A5 b0 n- z
delete from 表名 where id=4;6 j- w/ G$ x& S; N: O9 ?3 q
]3 D4 n( p4 N8 v3 k$ D
" A: I/ ]) _" y# } 四、DQL查询数据记录) |: E+ ?' q7 q+ W. M# i5 U" [- T
select
8 p# ^9 I- F( n( B( x2 j% T
. W1 I8 E3 `, T8 T. @/ R 格式:: j) e& h, w' ]2 e0 Y
9 R* C- }$ T( d) ?# A$ _8 h4 ^& \ seleect 字段名1,字段名2[,...] from 表名[where 条件表达式];0 F/ J A, ]& S" f' r; W, b h
; S: J; [1 A3 b9 c! Z8 K 例子:: g8 }( k( a3 T j& g F7 o
seleect * from 表名;
/ `4 w( ~& G7 h# z( Y, k2 q! M seleect id, name from 表名;
! H6 T4 v8 v& d3 ^1 f' u seleect id, name, score from 表名 where id=2;6 N( o' j$ p5 O/ K- e
' r$ _# N& B: U8 G8 N& G select name from 表名\G 以列表方式竖向显示- _ D) y; ~5 K/ ]) A' v' S: _
select * from info limit 2; 只显示头3行
- P. a5 @* r, w( M select * from info limit 2,3; 显示第3行后的前3行$ [9 n$ r! ]- F
( t- y6 z3 ? F2 f& D7 \+ E
: F! l1 V9 T3 ?; L & ~+ J, R* ~9 s! H
) c7 Z( E% T* u9 V9 H6 E1 o* w
$ ^5 C# V; j) M, T/ K
7 h' Y5 h" N: q r. s 类比excel表格2 Q4 U( o v9 z/ u" k' p# O8 {
" G* m/ W7 L: N0 F6 Z3 c
/ k; _8 J k+ [9 [ 3 t3 f0 Q$ {: U# d3 f
四、DCL
1 C% c; ~! _* ^" C/ v( q 1.alter 修改表名和表结构(表结构)
- g- M; p& x8 v5 }: j alter table 旧表名 rename 新表名;9 `# `5 C. m$ P$ w1 n2 `- ]0 F
# \; `" H( a/ R7 M: l S
扩展表结构(增加字段)5 c; e- U, m" H, \
alter table 表名 add address varchar(50) default '地址不详' ;) `1 s, a7 p! B, L$ S$ t" c
default ' 地址不详':表示此字段设置默认值为地址不详,可与not null配合使用1 F# [$ v. e- T& A
alter table 表名 add address varchar(50) not null default '地址不详' ;' y$ a0 v! \% K6 o0 p
+ H& N% A0 h3 h& ` 修改字段(列)名,添加唯一键(唯一性约束)8 w: |& z# G2 _) a
alter table 表名 change 旧列名 新列名 数据类型 [unique key] ;
7 s9 B [4 p2 g unique key:唯一键(特性:唯一, 但可以为空,空值只允许出现一次)
/ t3 p6 r$ _. D primary key (主键) :唯一且非空
, N+ z# I- x% }: S alter table 表名 change name user_ name varchar(10) unique key;+ D: @3 i/ }" p+ U/ p
change可修改字段名、数据类型、约束等所有项。
9 E- b4 x5 p3 q( E; ~; ?* z+ B 4 J( Z% c% E" T" x3 |
删除字段
4 D% _2 R$ W% F" S N 格式:
. A/ }8 p/ Z6 A5 t/ w5 _6 m alter table 表名 drop 字段名;: b5 n7 K i$ A( n
# j# b( Z& f# G: Q- a1 `4 U( I ————————————————0 w8 [' x" c& i( r
版权声明:本文为CSDN博主「Drw_Dcm」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。' x; V# F4 |1 |$ Z# J$ v5 a4 \
原文链接:https://blog.csdn.net/Drw_Dcm/article/details/126770177
6 a( [' Y& Z4 w
' x6 |& C- _$ g ! S* N) R5 s" G! J5 f
zan