SQL基础语法
建立、删除库:
//建立新数据库 CREATE DATABASE 数据库名; //删除数据库 DROP DATABASE 数据库名;
增长:
一、添加列名、设置主键、设置自动增加列 primary key表示当前列为主键列,不能重复,不能为空 out_increment表示当前列为自动增加列,由DBMS分配该列的值,能够保证不重复java
CREATE TABLE t_user( id INT PRIMARY KEY AUTO_INCREMENT, //编号 userName VARCHAR(20),//用户名 birthday DATE,//生日 tel CHAR(11),//电话 //枚举类型,该列的值只能取男和女 sex ENUM('男','女'), // 性别 -- 最后一列不能加“,” money INT //帐户余额 );
2.添加行(新增记录)数据库
①若是添加多条信息,中间用","分割。VALUES只用写一次,写在表头和表值之间。 ②若是列名和列的值不写,则默认添加为空(null),若是数据库设计时存在默认值,则为添加默认值。数据库设计
INSERT INTO t_user(表1,表2) values(值1,值2); 例如: INSERT INTO t_user(userName,pwd,birthday,tel,sex,money) VALUES ('张三','123','1980-05-09','13948577789','男',2000); 例如: INSERT INTO t_student(userName,pwd,birthday,tel,sex) VALUES('李四','111','1998-01-01','13112341234','男');
3.添加列(维护经常使用)学习
// t_student:表名;address:表头 ALTER TABLE t_student ADD address VARCHAR(50);
删除:
1.删除表设计
// t_user:表名 DROP TABLE t_user;
2.删除列3d
// t_student:表名;userAddress:列名 ALTER TABLE t_student DROP COLUMN userAddress;
3.删除行(记录)code
//若是不加where 后面的条件则所有删除 DELETE FROM t_user WHERE id=2;
修改:
一、修改列blog
修改列的值必须与修改后的类型相符,若是修改列的值为null,则能够改成任意类型。若是修改列的值类型为varchar,最长为20,则修改后的类型必须为char类型,长度不能低于20。排序
ALTER TABLE t_student CHANGE address userAddress VARCHAR(100);
二、修改值rem
UPDATE t_product SET 修改列名=修改后新值 WHERE id=1; //修改,将张三的密码修改成333,工资修改成2500 UPDATE t_user SET pwd='333',money='2500' WHERE userName='张三';
查询:
一、查询表中全部数据
表示显示全部的列,也能够指定显示列的列表,中间用","分割。
SELECT * FROM t_user; // 例如(显示姓名和工资列): select userName,money from t_user
二、查询返回限定行
第一个参数为起始记录数,从0开始,第二个参数为显示记录数
// MySQL语法 SELECT * FROM t_student LIMIT 0,3;
三、查询空值null
null不能用=,只能用is null 或 is not null
SELECT *FROM t_student WHERE money IS NULL;
四、查询多条信息(or/in)
// 查询张三和李四的信息 SELECT * FROM t_student WHERE userName='张三' OR userName='李四'; SELECT * FROM t_student WHERE userName IN('张三','李四');
五、模糊查询(_或%)
//查询姓李的二个字的员工 SELECT * FROM t_student WHERE userName LIKE '李_'; // 查询出全部商品名包括“糕”的商品的信息 SELECT * FROM t_product WHERE productName LIKE '%糕%';
六、查询多条件+显示部分(LIMIT)
// 查询前5条价格在100-1000的酒类商品 (MySQL语法) SELECT * FROM t_product WHERE productType='酒类' AND price>=100 AND price<=1000 LIMIT 0,5 ;
七、查询去除重复的类名(distinct)
// 查询全部的性别,distinct 表示去除重复记录 SELECT DISTINCT sex FROM t_student;
八、查询排序显示(ORDER BY)
//按员工工资排序,默认为升序ASC,降序须要加上DESC。 // 工资相同,按年龄大小排序。 SELECT * FROM t_student ORDER BY money DESC,birthday;
九、查询当前日期
select curdate() from 表名
关联查询:
**内链接:**INNER JOIN 、CROSS JOIN
(1)形式一
select 字段列表 from A表 inner join B表 on 关联条件 【where 其余筛选条件】
说明:若是不写关联条件,会出现一种现象:笛卡尔积 关联条件的个数 = n - 1,n是几张表关联 on只能和join一块儿用
(2) 形式二
select 字段列表 from A表 , B表 where 关联条件 【and 其余筛选条件】
外链接:左外链接(LEFT OUTER JOIN)
左链接:
第一种结果:A
select 字段列表 from A表 left join B表 on 关联条件
第二种结果:A - A∩B
select 字段列表 from A表 left join B表 on 关联条件 where 从表的关联字段 is null
右外链接(RIGHT OUTER JOIN)
第一种结果:B
select 字段列表
from A表 right join B表
on 关联条件
第二种结果:B - A∩B
select 字段列表
from A表 right join B表
on 关联条件
where 从表的关联字段 is null
谢谢你们阅读,若是想要知道更多java基础知识,能够戳我一块儿交流学习!