以管理员身份运行 命令提示符
运行数据库服务:net start Mysql80
停止数据库服务:net stop Mysql80
1.在cmd窗口中输入mysql -u root -p
,输入密码进入数据库
2.查看所有数据库show databases;
3.创建一个数据库
输入create database student character set gbk;
创建一个名为 student
的数据库,并将数据库字符编码指定为 gbk
4.查看和显示数据库的编码方式
使用 show create database 数据库名
; 显示数据库的创建信息。
5.选择名为student
的数据库use student;
Database changed:该提示表示可以成功使用student这个数据库
5.创建表
/ | 学号 | 姓名 | 性别 | 年龄 | 电话 |
---|---|---|---|---|---|
字段名称 | id | name | sex | age | tel |
数据类型 | int | char(8) | char(4) | tinyint unsigned | char(13) |
create table student_ei ( id int unsigned not null auto_increment primary key, name char(8) not null, sex char(4) not null, age tinyint unsigned not null, tel char(13) null default "-" );
主键(PRIMARY KEY)和自增(AUTO_INCREMENT)
6.查看表show tables;
7.查看表数据结构show columns from student_ei;
8.插入数据insert into student_ei values (2022031801,"法外狂徒","男",22,"13366666666");
insert into student_ei values(NULL,"刻晴","女",20,"19866666666");
9.查看表内容select * from 表名;
10.删除表的几种情况:
1、drop table table_name
: 删除表全部数据和表结构,立刻释放磁盘空间,不管是 Innodb 和 MyISAM;
实例,删除学生表:
drop table student_ei;
2、truncate table table_name
: 删除表全部数据,保留表结构,立刻释放磁盘空间 ,不管是 Innodb 和 MyISAM;
实例,删除学生表:
truncate table student_ei;
3、delete from table_name
: 删除表全部数据,表结构不变,对于 MyISAM 会立刻释放磁盘空间,InnoDB 不会释放磁盘空间;
实例,删除学生表:
delete from student_ei;
4、delete from table_name where xxx
: 带条件的删除,表结构不变,不管是 innodb 还是 MyISAM 都不会释放磁盘空间;
实例,删除学生表中姓名为 “法外狂徒” 的数据:
delete from student where T_name = “法外狂徒”;
5、delete 操作以后,使用 optimize table table_name
会立刻释放磁盘空间,不管是 innodb 还是 myisam;
实例,删除学生表中姓名为 “法外狂徒” 的数据:
delete from student where T_name = “法外狂徒”;
实例,释放学生表的表空间:
optimize table student;
6、delete from
表以后虽然未释放磁盘空间,但是下次插入数据的时候,仍然可以使用这部分空间。
11.查询数据库: select * from student_ei where sex="女";
12.修改数据库: update student_ei set tel = 13199999999 where id = 2022031802;
修改数据库:update student_ei set id = 2022031812 where id = 2022031802;
增:insert
删:delete
改:update
查:SELECT或者show
创建数据库:create database shujukuba;
创建带字符集的数据库:create database mydb2 CHARACTER SET=utf8;
创建带校验的数据库:create database mydb3 CHARACTER SET=utf8 COLLATE utf8_general_ci;
显示数据库:show databases;
删除数据库: drop database 库名;
修改数据库编码:ALTER DATABASE shujukuba character set gb2312;
将所有员工薪水修改为5000元:update employee set salary=5000;
将姓名为’zs’的员工薪水修改为3000元:update employee set salary = 3000 where name=‘zhangsan’;
将姓名为’aaa’的员工薪水修改为4000元,job改为ccc:update employee set salary = 4000,job=‘ccc’ where name=‘张三’;
将wu的薪水在原有基础上增加1000元:update employee set salary = salary+1000 where name=‘张三’;
删除表中名称为“zs”的记录:delete from employee where job=‘ccc’;
删除表中所有记录:delete from employee;
使用truncate删除表中记录:truncate table employee;
查询表中所有学生的信息:select id,name,chinese,english,math from student;
查询表中所有学生的姓名和对应的英语成绩:select name,english from student;
查询姓名为wu的学生成绩:select * from student where name=‘张三’;
查询英语成绩大于90分的同学:select * from student where english>‘90’;
查询英语分数在 80-90之间的同学:select * from student where english>=80 and english=<90;
进入mysql 命令行:mysql -uroot -p;
查看所有数据库:show databases;
创建数据库:create database niu charset utf8;
删除数据库:drop database niu;
选择数据库:use databases;
查看所有表:show tables;
查看创建数据库的语句:show create database databasename;
查看创建表的语句:show create table tablename;
查看表结构:desc tablenmae;
自增长:auto_increment
非空:not null
默认值:default
唯一:unique
指定字符集:charset
主键:primary key
unsigned :无符号,值从0开始,无负数
zerofill:零填充,当数据的显示长度不够的时候可以使用前补0的效果填充至指定长度,字段会自动添加unsigned
not null:非空约束,表示该字段的值不能为空
default:表示如果插入数据时没有给该字段赋值,那么就使用默认值
primary key:主键约束,表示唯一标识,不能为空,且一个表只能有一个主键。一般都是用来约束id
auto_increment:自增长,只能用于数值列,而且配合索引使用,默认起始值从1开始,每次增长1
unique key:唯一值,表示该字段下的值不能重复,null除外。比如身份证号是一人一号的,一般都会用这个进行约束
foreign key:外键约束,目的是为了保证数据的完成性和唯一性,以及实现一对一或一对多关系