mysql_数据库操作笔记_1

--数据库操作

	-- 链接数据库
	mysql -uroot -p
	mysql -uroot -p<这里是你的密码>

	-- 退出数据库
	exit/quit/ctrl+d

	-- sql语句最后需要有分好;结尾
	-- 显示数据库版本
	select version();

	-- 显示时间
	select now();

	-- 查看所有数据库
	show databases;

	-- 创建数据库
	--                          <可有可无,没有默认是latin>
	-- create database <数据库名> <charset=utf8>;
	create database python_new;
	create database python_new charset=utf8;

	-- 查看创建数据库的语句
	-- show crate database <想要查询的>
	show create database python_new;

	-- 查看当前的数据库
	select database();

	-- 使用数据库
	-- use 数据库的名字
	use python_new;

	-- 删除数据库
	-- drop database <数据库名>;
	drop database python_new

-- 数据表的操作

	-- 查看当前数据表中的内容;
	show tables;


	-- 创建表
	-- auto_increment 表示自动增长
	-- not null 表示不能为空
	-- primary key 表示主键
	-- default 默认值
	-- enum("","") 枚举
	-- create table 数据表名字 (字段 类型 约束 );
	-- 创建 classes表(id, name)
	create table xxxx(id int, name varchar(30));
	create table yyyy(
		id int primary key not null auto_increment, 
		name varchar(30)
	);


	-- 查看数据表的内容
	-- desc 数据表的名字;
	desc xxxx;

	-- unsigned 可以定义没有符合
	-- 创建students表(id, name, age, high, gender, cls_id);
	create table students(
		id int unsigned not null auto_increment primary key,
		name varchar(30),
		age tinyint unsigned default 0,
		high decimal(5,2),
		gender enum("男", "女", "保密") default"保密",
		cls_id int unsigned
	);

	-- 向表中插入数据
	insert into students values(0, "老王", 18, 175.22, "男", 0);
	-- 查看插入的数据
	select * from students;

	-- 创建一个classes表(id,name)
	create table classes(
		id int unsigned not null auto_increment primary key,
		name varchar(30)
	);

	-- 查看表的创建语句
	-- show create table 表名字;
	show create table students;

-- 查看表结构

	-- 修改表-修改表名
	alter table studts rename students;

	-- 修改表-添加字段
	-- alter table 表名 add 列名 类型及约束;
	alter table students add birthday datetime;

	-- 修改表-修改字段:不重名版
	-- alter table 表名 modify 列名 类型及约束;
	alter table students modify birthday date;


	-- 修改表-修改字段:重名名版
	-- alter table 表名 change 原名 新名 类型及约束;
	alter table students change birthday birth date default "1998-01-01";

	-- 修改表-删除字段
	-- alter table 表名 drop high;
	alter table students drop high;

	-- 删除表
	-- drop table 表名;
	drop database 数据库;
	drop table 数据表;


-- 增删改查(curd) 代表创建(Create) 更新(Update) 读取(Retrieve) 删除(Delete)

	-- 增加
		-- 全列加入
		-- ubsert [into] 表名 values(...)
		-- 主键字段 可以用 0  null default 来占位
		-- 向classes表中插入 一个班级
		insert into classes values("0", "无敌班");

	+--------+----------------------------+------+-----+------------+----------------+
	| Field  | Type                       | Null | Key | Default    | Extra          |
	+--------+----------------------------+------+-----+------------+----------------+
	| id     | int(10) unsigned           | NO   | PRI | NULL       | auto_increment |
	| name   | varchar(30)                | YES  |     | NULL       |                |
	| age    | tinyint(3) unsigned        | YES  |     | 0          |                |
	| gender | enum('男','女','保密')     | YES  |     | 保密       |                |
	| cls_id | int(10) unsigned           | YES  |     | NULL       |                |
	| birth  | date                       | YES  |     | 1998-01-01 |                |
	+--------+----------------------------+------+-----+------------+----------------+
 	
 	-- 向students 表中插入一个学生的信息 下面三种一样
 	insert into students values(0, "小肖", 11, "男", 123,"2000-11-23");
 	insert into students values(Null, "小肖", 11, "男", 123,"2000-11-23");
 	insert into students values(default, "小肖", 11, "男", 123,"2000-11-23");

    -- 失败
 	--insert into students values(0, "小肖", 11, "第四性别", 123,"2000-11-23");
 	-- 枚举中 的下标从1 开始 1-->"男" 2-->"女" 3-->"保密"
 	insert into students values(0, "小肖肖", 11, "1", 123,"2000-11-23");
 	insert into students values(0, "小肖肖", 11, "2", 123,"2000-11-23");
 	insert into students values(0, "小肖肖", 11, "3", 123,"2000-11-23");

 	-- 部分插入
 	-- insert into 表名(列1,...) values(值1,...)
 	insert into students (name, gender) values ("小乔", 2);

 	-- 多行插入
 	insert into students (name, gender) values ("小李", 1),("小王", 1);
 	insert into students values(0,"小陈",17,"2",111,"1999-05-19"),(0,"小宁",18,"2",666,"2000-05-19");

    -- 修改--全改
    -- update 表名 set gender=1;

    -- 修改--部分
    -- update 表名 set 列1=值1,列2=值2 where 条件;
    update students set gender=1 where id=7; -- 把id=7中的gender改成1
    update students set age=22, gender=1 where id=3; -- 把id等于3中的age改成22,gender改成1

 	-- 删除(注意注意,好马不吃回头草,不要轻易使用删除!!!)
 		-- 物理删除
 		-- delete from 表名 where 条件
 		delete from students; -- 一整个数据表中的所有数据全部删除
 		delete from students where name="小肖" --注意删除之后,原本自动分配的id,会继续往下,不会被删除的影响

 		-- 逻辑删除
 		-- 用一个字段来表示 这条信息是否已经不再使用了
 		-- 给students表中添加一个is_delete字段 bit 类型 
		alter table students add is_delete bit default 0; -- bit 是二进制
		update students set is_delete=1 where id=6; -- 简单说,就是加一个列,来表示删除了,并不是真的删除

	-- 查询基本使用
		--查询所有列
		-- select * from 表名;
		-- select * from 表名 where 条件;
		select * from students;
		select * from students where name="小肖"; -- 查询name为小肖的数据
		select * from students where id>3; -- 查询name为"小肖"的使用的数据

		-- 指定条件查询

		-- 查询指定的列
		-- select 列1,列2,... from 表名;
		select name,id from students;

		-- 字段的顺序 
		select id as 序号,name as 姓名  from students; --简单说,就是谁在前面,谁先显示

		-- 可以使用as为列或者表指定别名
		-- select 字段[as 别名], 字段[as 别名] from 数据表 where...;
		select name as 姓名 ,id as 序号 from students;

分享給大家,当一些操作不会的时候,说不定我这里有喔!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值