可以看看我博客其他文章,点个关注持续更新:
1、创建表的目的:
- 表是数据库存储数据的基本单位;
- 表由若干个字段(列)组成;
- 主要用来存储数据记录(行);
2、操作数据库的相关命令:
- 创建一个数据库:
create database haha;
- 使用数据库
use haha;
- 创建一个表:(创建 表格 表名(列名id 类型 int))
create table t1 (id int);
- 查看所有的表名:
show tables;
- 插入数据:insert 插入 到 表名t1 值 (1);
insert into t1 values (1);
- 查询所有数据 (查询 所有列 从 表名t1)
select * from t1;
- 删除表:drop table 表名
drop table t1;
- 删除表里的记录:delete from 表名;
delete from table_name where age>30;
#删除table_name表中age大于三十的记录
3、数据库实例操作(1):
创两列的表格-序号和姓名
创建 表格 表名t2 (第一列名id 数字类型, 第二列名name 字符类型 (长度))
create table t2 (id int, name varchar(20));
创建了表格查看下表结构是否符合、查看是否有这个表、查看表中内容:
desc t2;
show tables;
select * from t2;
开始插入数据、并查看:
insert into t2 values (1,"zhangsan");
select * from t2;
4、数据库实例操作(2):
要求 1、创建库school 创建表student1
create database school;
use school;
create table student1(id int auto_increment,name varchar(20),sex enum('m','f'),age int
primary key(id));
show tables;
id 字段将自动增长,每次插入新记录时不需要手动指定 id 的值。
PRIMARY KEY 只能是唯一的
AUTO_INCREMENT 配合整数型,主键使用自动增长约束
选择插入的内容:insert into 表名 values(字段值列表);
insert into student1 values(1,'zhangsan','m',33),
insert into student1 values(2,'lisi','f',20),
insert into student1 values(1,'wangwu','m',40);
select * from student1; 查看表内容
desc student1; 查看表结构
5、更新数据update
准备一张表
mysql> create table t6(id int, name varchar(20));
mysql> insert into t6 values (1,'aa');
mysql> insert into t6 values (2,'bb');
更新数据
需求:把bb改成cc
mysql> update t6 set name='cc' where id=2;
查询结果
示例2
mysql> select * from t6;
修改mysql管理员的root账号密码:
alter user 'root'@'localhost' identified by '123456';
flush privileges;
#重新加载授权表; 则不需要重新启动数据库
6、删除数据使用delete
语法:delete from 表名 where condition
mysql> delete from t6 where id=2;
请思考不加where条件会如何。 会把t6表删了
where子句来精确控制需要删除的数据
面试:如果我忘记密码了登录不进去我需要怎么做?
1、可以通过修改mysql的配置文件来登录数据库,mysql的配置文件一般会放在:
/etc/mysql/my.cnf
添加:--skip-grant-tables 作用是会使诗句哭在没有密码保护的情况下暴露给所有用户
然后sudo systemctl restart mysql 重启数据库
mysql -u root 跳过权限检查直接登录
登录后 使用flush privileges; 刷新mysql的权限
alter user 'root'@'localhost' identified by '123456';