mysql h-服务器主机地址 -u用户名 -p密码
如果是在本机操作,可省略-h参数,不是本机可以填写地址,或者端口3306
示例: mysql -u root -p sa
查看当前mysql版本信息及用户名
select version(),user();
version()返回版本号,user()返回连接数据库用户名
创建数据库
create database 数据库名;
查看数据库列表
show databases;
选择数据库
use 数据库名;
示例:use myschool;
删除数据库
drop database 数据库名;
示例:drop database myschool;
警告:不要把系统默认的数据库删了,如果删了需要重装。
创建数据库表
首先选择数据库,在创建表
cerate table [if not exists] 表名( //if not exists 应该是判断表是否存在
字段1 数据类型 [字段属性|约束] [索引] [注释] ,
字段2 数据类型 [字段属性|约束] [索引] [注释]
)[表类型] [表字符集] [注释];
示例:
cerate table myschool(
No int(4) primary key,//primary key 设置主键 //not null 非空约束
name char(10)
);
添加数据:
insert into 表名 value(值1),(值2),(值3);
示例:insert into name value('1'),('2'),('3');
字段的约束及属性
not null 非空约束
default 默认约束
unique key('字段') 唯一约束
primary key 主键约束
foreign key ('主表字段') 外键约束
auto_increment 自动增长 标识列
注释
create table test(
id int(11) unsigned//唯一约束 comment '编号'
)comment='测试表';
查看表
show tables;
查看表的定义
describe 表名;
desc 表名;
示例:use myschool;desc student;
删除表
drop table [if exists] 表名;
mysql帮助
help `查询的关键字`;
修改表名:
alter table<旧表名> rename [to] <新表名>;\\to为可选参数,使用与否不影响结果。仅修改表名,表结构不表
示例:alter table student rename stu;
添加字段
alter table 表名 add 字段名 数据类型 [属性];
示例:alter table add pwd varchar(50) not null;
修改字段
alter table 表名 change 原字段 新字段 数据类型 [属性];
示例:alter table demo change name username char(2) not null;
删除字段
alter table 表名 drop 字段名;
示例:alter table demo drop pwd;
添加主外键约束:
alter table 表名 add constraint 主键名 primary key 表名(主键字段); //主键名以pk_开头
示例:alter table grade add constraint pk_grade primary key grade(gradeId);
组合主键:
primary key(主键字段1,主键字段2);
添加外键约束
alter table 表名//从表 add constraint 外键名 foreign key(外键字段) references 关键表名(关联字段)//主表; \外键名以fk_开头
示例:alter table student add constraint fk_student_grade foreign key(gradeId) references grade(gradeId);
备份
方式1:
insert into 新表(字段1,字段2)\\新表必须存在
select 字段1,字段2
from 原表;
方式2:
create table 新表(select 字段1,字段2 from 原表);
删除数据:
delete from 表名 [where条件];条件删除,标识列继续
truncate table 表名;删除全部数据,标识列从头开始
limit子句:
limit [从第几条开始查\\从0开始,行数]
示例:limit 4,4;
执行事务
开始事务:begin;
提交事务:commit;
撤销事务:rollback;
使用sql语句创建视图
create view 视图名
as
<select语句>
使用sql语句删除视图
drop view [if exists] 视图名;
查看视图
select 字段1,字段2 from 视图名
数据备份
mysqldump -u 登录名 -p 密码 要备份的数据 [表名] > 文件名称
数据还原 -u 登录名 -p 密码 < 文件名称
创建普通用户
create user `用户名`@`主机名` [IDENTIFIED BY [Password] `密码`]
示例:create user `teacher`@`localhost\\这地方可以是主机IP,可以是%` identified by '123456';
创建用户并授权
语法:GRANT priv_type on 数据库.表名\\*表示数据库中所有的表
to `用户名`@`主机名` [IDENTIFIED BY [Password] `密码`]
示例 :GRANT INSERT,SELECT\\all 表示全部权限 ON myschool.student
to 'xiaoming'@'localhost' IDENTIFIED BY '123456';
修改用户密码
mysqladmin -u 用户名 -p password "新密码";
修改当前登录账户密码
set password = password("0000");
修改其他用户密码:
set password for `用户名`@`localhost` = password("88888");
删除用户:
drop user 用户名;