MySQL的数据类型
类型 | 用途 |
int | 整型,相当于java的int |
bigint | 整型,相当于java的long |
float | 浮点型 |
double | 浮点型 |
datetime | 日期类型 |
timestamp | 日期类型(可存储时间戳) |
char | 定长字符 |
varchar | 不定长字符 |
text | 大文本,用于存储很长的字符内容 |
blob | 字节数据类型,存储图片、音频等文件 |
案例1.建表操作
●语法
--删除表
DROP TABLE IF EXISTS 表名;
--新建表
create table表名(
字段名 类型 约束(主键,非空,唯一,默认值),
字段名 类型 约束(主键,非空,唯一,默认值) ,
)编码,存储引擎;
在SQL中,我们有如下约束:
●NOT NULL -指示某列不能存储NULL值。
●UNIQUE -保证某列的每行必须有唯一 的值。
●PRIMARY KEY- NOT NULL和UNIQUE的结合。确保某列(或两个列多个列的结合)有唯一标识, 有助于更容易更快速地找到表中的一个特定的记录。
●FOREIGN KEY -保证一个表中的数据匹配另一个表中的值的参照完整性。
●CHECK -保证列中的值符合指定的条件。
●DEFAULT- 规定没有给列赋值时的默认值。
实例
DROP TABLE IF EXISTS `websites` ;
CREATE TABLE `websites` (
id int(11) NOT NULL AUTO_ INCREMENT ,
name char(20) NOT NULL DEFAULT '' COMMENT '站点名称',
url varchar(255) NOT NULL DEFAULT '',
alexa int(11) NOT NULL DEFAULT 'O' COMMENT 'A1exa 排名',
sal double COMMENT '广告收入',
country char(10) NOT NULL DEFAULT '' COMMENT '国家',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET-utf8;
增删改查(接着上面的例子,数据以上没有,学会“增”后,自己添加)
单行注释:-- (两杠加一空格)
多行注释:/* */
●插入语句(案例2)
INSERT INTO websites (name,url,alexa,sal,country ) VALUES ('腾讯', 'https ://www.qq.com', 18, 1000, 'CN' ) ;
●删除语句(案例3)
delete from websites where id = 5;
●更新语句(案例4)
update websites set sal = null where id = 3 //将id为3的工资更新为空
●查询语句(案例5)
select * from websites(不推荐用星号)
select id,name,url,alexa,sal,country from websites (推荐)
案例6.分页查询
select id,name,url,alexa,sal,country from websites limit 2,3 ; //从第2条(下标从0开始)开始查,查3条数据
select id,name,url,alexa,sal,country from websites limit 3 ; //从第0条(下标从0开始)开始查,查3条数据
案例7.distinct关键字
直接查country有重复
前加distinct,就没了
案例8.where语句
运算符:>、<、>=、<=、!=、=、is null、is not null、like、in
(在sql语句中,null和任何东西比较都为假,包括它本身)
select name from websites where sal>500 //查询工资大于500的公司名称
根据工资来排序:
like:像_o%样式的
两种写法:(实际开发推荐第二种)
左外连接:
右外连接:
全连接: