Mysql数据库学习笔记(一)

1.mysql数据库登录方式?
 1.mysql -u用户名 -p密码
 2.mysql -hip地址 -u用户名 -p密码
 3.mysql -host = ip地址 -- user = 用户名 -- password = 密码
2.什么是SQL,SQL的通用语法以及SQL的分类?
 1.SQL指的是结构化查询语言。
 2.通用语法:(1)SQL语句可以是单行或者多行,以分号结尾。(2)可以用空格和缩
 进增强语句的可读性。(3)关键字一般用大写。(4)注释方式:单行注释:-- 或者#
 号,多行注释:/*注释内容*/。
 3.SQL的分类:DDL(操作数据库或者表),DML(增删改表中数据),DQL(查询表中记录
 数据),DCL(数据控制语言)。
3.DDL(操作数据库、表)
**操作数据库:CRUD**
    **创建:**
     create DataBase 数据库名 ;-- 创建数据库
     create DataBase if not exists 数据库名;--如果不存在该数据库则创建
     create DataBase 数据库 character set 字符集;--创建数据库并指定字符集
    **查询:**
     show DataBases;--查询所有数据库;
     show create DataBase 数据库名;--查看某个数据库定义信息
    **修改:**
    Alter DataBase 数据库名 default character set 字符集;--修改数据库默认
    的字符集
    **删除:**
    drop DataBase 数据库名;--删除数据库
**操作表:**
   **创建:**
   create table 表名(
   列名1 数据类型,
   列名2 数据类型,
   .
   .
   .
   列名n 数据类型
   )
  注:最后一列,不要加逗号。复制表语句:create table 表名 like 被复制的表名;
  **查询**
  show tables;--显示某个数据库中所有的表
  desc 表名;--查询表结构
  **修改**
  alter table 表名 rename to 新的表名;-- 修改表名
  alter table 表名 character set 字符集名称;--修改表的字符集
  alter table 表名 add 列名 数据类型;--添加一列
  alter table 表名 modify 列名 新数据类型;--修改列名称类型
  alter table 表名 change 列名 新列名 新数据类型;--修改列名以及列的数据类型
  **删除**
  drop table 表名;--删除表
  drop table if exists 表名;--如果存在某个表将它删除
4.DML(增、删、改表中的数据)
 1.添加数据
 insert into 表名(列名1,列名2,...,列名n)values(值1,值2,...值n);
 2.删除数据
 delete from 表名 where 条件;
 注:不加条件,将删除所有数据。
 删除表中数据:
 delete from 表名;--效率低
 truncate table 表名;--效率高
 3.修改数据
 update 表名 set 列名1 = 值1,列名2=值2,.... where 条件;
 注:不加条件会修改表中所对应列的所有值。
5.DQL(查询表中数据)
select 表中列名  from 表名;
1.语法格式:select 字段列表 from 表名列表 where 条件列表 group by  分组列表
having 分组后的条件 order by 排序 limit 分页限定;
注:要清楚哪个先执行,哪个后执行。
2.基础语句
(1)多个字段查询
(2)去除重复字段 select distinct...
(3)计算列
(4)起别名 用as或者直接空格
注:如果表中数据有null,并且参与到运算,那么计算结果都为null;此时需要用到
Ifnull(哪一个字段可能有null值,0)
3.条件查询
(1)where子句后跟条件
(2) 运算符
	* > 、< 、<= 、>= 、= 、<>
	* BETWEEN...AND  
	* IN( 集合) 
	* LIKE:模糊查询
		* 占位符:
			* _:单个任意字符
			* %:多个任意字符
	* IS NULL  
	* and  或 &&
	* or  或 || 
	* not  或 !
	
		-- 查询年龄大于20岁

		SELECT * FROM student WHERE age > 20;
		
		SELECT * FROM student WHERE age >= 20;
		
		-- 查询年龄等于20岁
		SELECT * FROM student WHERE age = 20;
		
		-- 查询年龄不等于20岁
		SELECT * FROM student WHERE age != 20;
		SELECT * FROM student WHERE age <> 20;
		
		-- 查询年龄大于等于20 小于等于30
		
		SELECT * FROM student WHERE age >= 20 &&  age <=30;
		SELECT * FROM student WHERE age >= 20 AND  age <=30;
		SELECT * FROM student WHERE age BETWEEN 20 AND 30;
		
		-- 查询年龄22岁,18岁,25岁的信息
		SELECT * FROM student WHERE age = 22 OR age = 18 OR age = 25
		SELECT * FROM student WHERE age IN (22,18,25);
		
		-- 查询英语成绩为null
		SELECT * FROM student WHERE english = NULL; -- 不对的。null值不能使用 = (!=) 判断
		
		SELECT * FROM student WHERE english IS NULL;
		
		-- 查询英语成绩不为null
		SELECT * FROM student WHERE english  IS NOT NULL;
		
		-- 查询姓马的有哪些? like
		SELECT * FROM student WHERE NAME LIKE '马%';
		-- 查询姓名第二个字是化的人
		
		SELECT * FROM student WHERE NAME LIKE "_化%";
		
		-- 查询姓名是3个字的人
		SELECT * FROM student WHERE NAME LIKE '___';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值