连接数据库

windows系统使用cmd登入mysql

命令:mysql [-host] [-port] -u用户名 -p密码 直接在-p后输入密码将显示明文

mysql语句强行结束符号 mysql语句强行结束符号在哪_mysql


也可以后续输入密码:

命令:mysql [-host] [-port] -u用户名 -p

mysql语句强行结束符号 mysql语句强行结束符号在哪_基本操作_02


省略hostport时,host将默认为本地,port为安装mysql时设定的端口,一般为3306

登出数据库

指令:

1、\q; 2、\quit;

3、exit;

mysql语句强行结束符号 mysql语句强行结束符号在哪_mysql语句强行结束符号_03


bye表示已成功登出数据库

语句结束符

1、; 2、\g

3、\G

;\g效果一样

mysql语句强行结束符号 mysql语句强行结束符号在哪_mysql语句强行结束符号_04


\G将结果旋转后显示

mysql语句强行结束符号 mysql语句强行结束符号在哪_表名_05

当查询数据的字段太多时适合使用\G

mysql语句强行结束符号 mysql语句强行结束符号在哪_数据库_06


mysql语句强行结束符号 mysql语句强行结束符号在哪_基本操作_07

修改语句结束符

语法:delimiter 新结束符 注意:该语句本身不需要结束符

只修改;,不影响\g\G

mysql语句强行结束符号 mysql语句强行结束符号在哪_表名_08

数据库

创建数据库

语法:create database 数据库名称 [库选项];
如:create database mydatabase;
库选项有:
1、字符集(不输入时,为DBMS的默认字符集,安装时选择)
语法:create database 数据库名称 charset 字符集; 如:create database mydatabase2 charset gbk; 2、校对集(跟随字符集)
collate 校对集

显示所有数据库

指令:show databases;

mysql语句强行结束符号 mysql语句强行结束符号在哪_mysql语句强行结束符号_09

匹配数据库

语法:show databases like '匹配条件';

占位符:

_ :当前位置可以匹配为一个字符 如:show databases like 'm_database' ; 将显示所有名字为 m_database 的数据库 (_为任意单个字符)

mysql语句强行结束符号 mysql语句强行结束符号在哪_基本操作_10

% :当前位置可以匹配为多个字符 如:show databases like 'm%database' ; 将显示所有名字为 m%database 的数据库 (%为任意多个字符)

mysql语句强行结束符号 mysql语句强行结束符号在哪_mysql_11

显示数据库创建语句

但显示的不是输入的原始语句,为系统转换后语句

指令:show create database 名称;

mysql语句强行结束符号 mysql语句强行结束符号在哪_表名_12


圈为显示的创建语句

选择数据库

指令:use 数据库名称

mysql语句强行结束符号 mysql语句强行结束符号在哪_mysql语句强行结束符号_13

修改数据库

可修改库选项:字符集、校对集,但一般创建后不再修改
语法:alter database 数据库名称 charset 字符集; ps:只有5.5版本以前的可以改数据库名称,之后的不可以

删除数据库

语法:drop database 数据库名称; 删除前需确保库内数据可以删除,才能删除数据库

创建数据表

表的创建必须有字段
语法:create table 表名(字段名 字段类型(字段属性), 字段名 字段类型(字段属性),….)[表选项]

create table mydatabase.person(name varchar(10));

create table mydatabase.person(name varchar(10))charset utf8;

1、创建表前先选择数据库,表将创建在该数据库下
2、create table 数据库名.表名(字段名 字段类型(字段属性), 字段名 字段类型(字段属性),….)[表选项] 将直接在指定数据库下创建表,而无需提前选择数据库

数据库名.表名,可在当前数据库访问其他数据库的表

表选项:
1、engine:存储引擎(存储数据的方式默认innodb)
2、charset:字符集(只针对当前表,优先级比数据库字符集高)
2、collate:校对集(只针对当前表,优先级比数据库字符集高)

复制数据表

只复制已有表的结构,不复制数据
语法:create table 新表名 like 已有表名;

查看当前数据库下所有表

需先选择数据库

语法:show tables;

mysql语句强行结束符号 mysql语句强行结束符号在哪_mysql语句强行结束符号_14

匹配当前数据库符合条件的表

语法: show tables like ‘匹配条件’;

mysql语句强行结束符号 mysql语句强行结束符号在哪_表名_15


mysql语句强行结束符号 mysql语句强行结束符号在哪_mysql语句强行结束符号_16

查看表结构

语法:
1、describe 表名; 2、desc 表名; 3、show columns from 表名;

3条指令显示结果都一样,desc为describe的缩写,常用desc

mysql语句强行结束符号 mysql语句强行结束符号在哪_基本操作_17

显示表创建语句

语法:

show create table 表名;(需先选数据库)

show create table 数据库.表名;

mysql语句强行结束符号 mysql语句强行结束符号在哪_基本操作_18

修改表选项

语法:alter table 表名 表选项 [=] 值; []可有可无
如:

alter table mydatabase.person charset gbk;

注意:当数据库已确定有很多数据,不要轻易修改表选项(如存储引擎和校对集,影响可能会很大,字符集影响不大)

修改表名

语法:rename table 旧表名 to 新表名 如:

rename table mydatabase.person to my_person;

ps:一般取数据库前2字母加_加表名,xx_表名

删除表

语法:drop table 表名;

增加字段

语法:alter table 表名 add [column] 字段名 字段类型 [列属性] [位置]; 如:

alter table people add age int;

位置:
first (插入到最前面)
after 字段名 (插入到字段名之后)
如:

alter table people add habbit int first ;

alter table people add height int after name ;

字段属性(列属性):

mysql语句强行结束符号 mysql语句强行结束符号在哪_数据库_19


alter table 表名 add [column] 字段名 字段类型 [null/not null] [default xx] [位置];如:alter table people add level int not null default 1;

mysql语句强行结束符号 mysql语句强行结束符号在哪_表名_20

comment列描述:

用于给开发人员提供注释描述

只能通过查询创建语句进行查看

语法:comment’描述’

mysql语句强行结束符号 mysql语句强行结束符号在哪_mysql语句强行结束符号_21

修改字段名

语法: alter table 表名 change 旧字段名 新字段名 字段类型 [列属性] [位置]; 如:

alter table people change lll aa varchar(12) after height;

ps:新旧字段名可以相同

修改字段

语法:alter table 表名 modify 字段名 字段类型 [新属性] [新位置]; 如:

alter table people modify lll varchar(12) after height;
删除字段

语法:alter table 表名 drop 字段名; 如:

alter table people drop name;
插入数据

一次插入一条记录:
语法:
1、insert into 表名 (字段名,字段名,…) values (对应值,对应值,….); 如:

insert into people (name,age,height) values('hi',20,65);

有默认值或者允许为空的字段可以不插入数据

2、insert into 表名 values (对应值,对应值,….); 此时,对应值顺序必须与表结构(字段顺序)对应

一次插入多条记录:

语法: insert into 表名 [字段列表] values (值列表),(值列表),(值列表),…;

mysql语句强行结束符号 mysql语句强行结束符号在哪_mysql语句强行结束符号_22

查询数据

语法:select 字段列表 from 表名 [where 字段名 = xx]; 字段列表可用*代替,*表示所有

字段列表为要提取出来的字段

mysql语句强行结束符号 mysql语句强行结束符号在哪_数据库_23

删除数据

语法:delete from 表名 [where 判断条件] [limit n]; 没有[where 判断条件][limit n]时,将删除表的全部数据

limit n 删除前n条记录

更新(修改)数据

语法:update 表名 set 字段名 = 新值 [where 判断条件] [limit 数量];

mysql语句强行结束符号 mysql语句强行结束符号在哪_数据库_24

没有[判断条件][limit n]时,表中对应字段名的所有数据都将改为新值

mysql语句强行结束符号 mysql语句强行结束符号在哪_数据库_25

[limit n]会将前n条记录进行update

mysql语句强行结束符号 mysql语句强行结束符号在哪_mysql语句强行结束符号_26


mysql语句强行结束符号 mysql语句强行结束符号在哪_基本操作_27