Structured Query Language 结构化查询语言,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言。
一、数据库操作
1.连接
bin路径 mysql -h 主机地址 -u 用户名 -p密码 -P端口号
端口号是3306可省略端口号
如果连接的是本地MySQL,IP地址可以省略
2.退出
exit;
quit;
\q
3.创建
create database 数据库名(后可加charset=指定字符编码);
create database if not exists 数据库名;(创建不同名的数据库)
若数据库名为关键字,则在名字上加反引号
4.查询
show databases;
显示数据库的创建语句
show create database 数据库名;
5.更改数据库的字符编码
alter database 数据库名 charset=字符编码;
6.删除
drop database (if exists)数据库名;
7.选择
use 数据库名;
二、数据表操作
1.创建表
create table
表名
(
字段1
数据类型 [ null | not null ] [default] [auto increment] [primary key]
字段2
数据类型
…
)
not null:不为空
default:默认值
auto increment:自动增长
primary key:主键(不能重复,不能为空),一个表只能有一个主键,主键可由多个字段一起组成
数据类型:
smallint(size)/tinyint(size)/int(size):整型
decimal(总位数,小数位数)
char(size):定长
varchar(size):可变长度
text:大段文本
2.查看所有表
show tables;
显示创建表的SQL语句
show create table
表名
[\G];
\G:标识table字段和create table字段竖排
3.显示表结构
describe/desc
表名
;
4.删除表
drop table
表名
;
drop table表1
,表2
,… ;
三、数据操作
1.插入数据
insert into 表名(字段名1,字段名2) values(值1,值2);
注意:
1.关键词字段名要加反引号,字符类型的值要加单引号;
2.插入字段可以和数据表中的字段的顺序不一致,但值和插入字段的顺序必须一致;
3.插入字段可以省略,插入的值必须和数据表的字段顺序、个数都一致;
4.自动增长的插入可用null
5.默认值的插入default
2.查询数据
select 列名 from 表名 [where 条件] [order by 排序] [limit 起始位置,获取记录数];
select * from 表名;(查询所有,*代替所有字段)
asc 由低到高
desc由高到低
排序默认升序
limit中的起始位置是从0开始的
3.修改
update 表名 set 字段1=值1,字段2=值2 where 条件;
4.删除
delete from 表名 [where 条件];
查看所有数据类型 show variables;
MySQL菜鸟教程