A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ziyangfgt 中级黑马   /  2017-6-16 17:15  /  723 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

建立数据库


CREATE DATABASE users;


删除数据库

DROP DATABASE users;


数据库中默认的字符类型是utf8,如果要修改的话可以执行一下语句

ALTER DATABASE users CHARACTER SET utf8;


查看某个数据库的详细信息


SHOW CREATE DATABASE users;


数据库创建好之后就是建表了


首先选择要操作的数据库名


USE users;


然后执行下面的语句


CREATE TABLE users (

id INT PRIMARY KEY UNIQUE AUTO_INCREMENT,

username VARCHAR(50) NOT NULL,

userpass VARCHAR(50),

barthday DATE

);


其中的primary key是主键约束 unique是唯一约束 auto_increment是自动增长列not null为非空约束


在之后还可以添加字段删除字段或者修改字段


— 添加


ALTER TABLE users  ADD COLUMN news VARCHAR(10);

— 删除

ALTER TABLE users DROP COLUMN news ;

— 修改字段类型


LTER TABLE users MODIFY username VARCHAR(100);

— 修改字段名称

ALTER TABLE users CHANGE id userid INT;


现在的表中还没有数据,然后添加数据


— 方式一

INSERT INTO users VALUES(1,’tom’,’123’,’2016-11-20’);

— 方式二

INSERT INTO users(userid,username,userpass)VALUES(2,’jurry’,’123’);

— 方式三

INSERT INTO users VALUES(3,’zhagnsan’,’123’,’2016-1-20’),(4,’lisi’,’123’,’2016-10-20’),(5,’wangwu’,’123’,’2016-2-20’),(6,’mata’,’123’,’2016-3-20’);


插入之后还可以对数据进行修改


— userid为2的一列中barthday改为2013-05-21


UPDATE users SET barthday=’2013-05-21’ WHERE userid=2;


— 删除username为wangwu的那一列


DELETE FROM users WHERE username=’wangwu’;


— 用下面的代码可以修改表名


RENAME TABLE users TO students;






————————————————查询————————————————————-


关键字有and ,or,not,in,is,between ? and ?,like等;






— 去掉重复列(由于我的表中usepass都为123,所以执行之后的结果只有一行)


SELECT DISTINCT students.userpass FROM students;


— 给每一行起一个名字


SELECT userid 学号,username 姓名,userpass 密码 FROM students;


— 缕空(也是查询,不过当有某一列为null时,输出0,否则原样输出)


SELECT IFNULL(barthday,0) FROM students;


— 对指定的字段排序 其中 asc为升序 desc为降序


SELECT FROM students ORDER BY barthday DESC;


— username中部位null的行数(相似的函数还有max(),min(),sum(),avg()等)


SELECT COUNT(username) FROM students;






——————————————————————————————————————————————————————————————-


在查询的过程中关键字的顺序有如下的特点


select—>from—>where—>group by—>having—>order by—>limit


其中group by是分组查询 having 分组之后对数据进行过滤 order by是排序方式 limit 用于限定查询结果的起始行以及总行数


FROM students LIMIT 2,3;






外键约束 foreign key


— 方法一(在开始创建是就使用外键约束)


constraint fk_score_id foreign key(id) references students(id);


— 方法二(在创建表之后添加外键约束)


alter table score add constraint fk_stu_score foreign key(id)  references stu(id);






—————————-constraint 约束 references 参照

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马