常见的操作命令
show databases; # 显示当前数据库管理系统中的所有数据库
show databases like "%b%" # 模糊匹配符合规则的数据库
use dbName; # 进入到某个数据库(DBName就是这个数据库名称)中。
show tables; # 查看当前数据库下所有表
show tables like "%p%"; #模糊匹配符合规则的表
desc(description) tableName; # 描述某张表的结构
show create table tableName; # 显示创建表的sql
标准sql的学习:
sql(structured query language)结构化查询语言
在1986年 ANSI sql86
在1987年 ISO sql87
1989 ISO sql89
dml(database Manipulation language): 数据库操作语言
show
create
drop
ddl(database difined language):数据定义语言
insert
update
delete
dql(database query language) 数据库查询语言
dcl(database controller language):数据库控制语言
grant
invoke
dba(database administrator)数据库管理员
三个创建:表 数据库 视图
四条语句:CRUD
五种约束:主键、外键、唯一、非空、默认值
请说明如下四种类型的不同之处?
char nchar varchar nvarchar
CRUD 增删改查
c(create) r(Retrieve)u(update) d(delete)
数据库数据表的创建和删除
创建一个数据库
create database dbName [charset=utf8 ENGINE=InnoDB]
# 创建一个数据库,名称是db_xx
create database db_teacher;
create database db_teacher charset=utf8
删除一个数据库
drop database DBName (慎用)
drop database db_py1803;
如何创建一张表
create table t_user(
id int primary key auto_increment, -- 主键 自动增长
username varchar(50) not null,
password varchar(100) not null,
age int default 18,
gender varchar(5) default 'nan',
nickname varchar(255) unique # unique 表示唯一约束
)
删除一个数据表
drop table tableName;
插入一条数据到t_user表里面来
insert into t_user(id,username,password,age,gender,nickname)
values(1,"liushuaige",'123456',16,'nan',"shuaigeliu")
简单的查询某张表
select 字段1,字段2……,字段n from tableName;
select * from t_user;
select id,username from t_user;
# 更新(修改)
update tableName set 字段1=新值[,字段2=新值……字段n=新值] where 条件
update t_user set username = 'liuouba';
update t_user set username = 'liushuaige' where id = 1;
update t_user set username = 'oubaliu' where id >3;
#删除 delete
delete from tableName where condition
delete from t_user where id = 6
检测系统是否自带安装 MySQL:
rpm -qa | grep mysql
卸载:
rpm -e mysql // 普通删除模式
rpm -e --nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
检查MySQL服务器是否启动:ps -ef | grep mysqld
添加 MySQL 用户(用户名为guest,密码为guest123,并授权用户可进行 SELECT, INSERT 和 UPDATE操作权限)
mysql> INSERT INTO user
(host, user, password,
select_priv, insert_priv, update_priv)
VALUES ('localhost', 'guest',
PASSWORD('guest123'), 'Y', 'Y', 'Y');
重新载入授权表:mysql> FLUSH PRIVILEGES;不使用该命令,你就无法使用新创建的用户来连接mysql服务器,除非你重启mysql服务器
查询为guest的用户:mysql> SELECT host, user, password FROM user WHERE user = 'guest';
另外一种添加用户的方法为通过SQL的 GRANT 命令
给指定数据库TUTORIALS添加用户 zara ,密码为 zara123 。:
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
-> ON TUTORIALS.*
-> TO 'zara'@'localhost'
-> IDENTIFIED BY 'zara123';
数据库列表查询:SHOW DATABASES:;
选择要操作的Mysql数据库:mysql> use RUNOOB;
显示指定数据库的所有表SHOW TABLES;
显示数据表的属性:mysql> SHOW COLUMNS FROM;
显示数据表的详细索引信息,包括PRIMARY KEY(主键):SHOW INDEX FROM数据表;
mysql> SHOW TABLE STATUS FROM RUNOOB; # 显示数据库 RUNOOB 中所有表的信息
mysql> SHOW TABLE STATUS from RUNOOB LIKE 'runoob%'; # 表名以runoob开头的表的信息
mysql> SHOW TABLE STATUS from RUNOOB LIKE 'runoob%'\G; # 加上 \G,查询结果按列打印
mysql的退出: exit quit \q ctrl+c
c(create) r(Retrieve)u(update) d(delete)
c(create) r(Retrieve)u(update) d(delete) c(create) r(Retrieve)u(update) d(delete)